Skip to content

Nuestra primera aplicación en python y qt4 [3]. Accediendo a bases de datos con SQLite.

Tras haber creado la interfaz de nuestro programa, ahora vamos a empezar a escribir algo de código.
Lo primero que vamos a implementar es la capacidad de conectarnos con una base de datos.
Como vamos a utilizar bases de datos SQLite, lo primero que tenemos que hacer será importar la herramienta necesaria a nuestro programa:

import sqlite3

Cuando comencemos el programa, queremos que cargue la base de datos con todas las operaciones anteriormente guardadas. Si no tenemos ninguna base de datos creada, crearemos una nueva y le añadiremos sus correspondientes campos (Tipo, Lugar, Fecha…).
Tras ello, leeremos la base de datos y la copiaremos en nuestra tabla.

Visto en forma esquemática:


Vamos a traducirlo a código real:
Antes que nada, definimos Seguir leyendo…

Nuestra primera aplicación en python y qt4 [2]. Creando la interfaz.

Una vez tengamos el software necesario, vamos a diseñar la interfaz grafica.

Para ello, abrimos Qt Designer. Lo primero que nos aparece es una ventana para seleccionar el tipo de aplicación que queremos hacer. Seleccionamos MainWindow y seguimos adelante.

Sigue leyendo…

Nuestra primera aplicación en python y qt4 [1]. Preparando el software.

El programa que estoy haciendo, y que voy a ir subiendo parte por parte es uno que ya hice hace un año en gambas. El código es totalmente diferente, pero el objetivo es el mismo: crear un sencillísimo gestor financiero.

Las características que debe tener este programa son:

  • Capacidad de manejar varias cuentas (banco, efectivo…)
  • Grabación de las operaciones en un formato externo (sqlite)
  • Posibilidad de editar y borrar operaciones ya ingresadas.
  • Capacidad de graficar los datos.

Como veréis, son capacidades muy básicas, pero suficientes para una persona sin demasiados movimientos de dinero, pocas cuentas, operaciones sencillas… Como un estudiante.

Antes de empezar, instalamos el software que utilizaremos:

Sigue leyendo…

Crear aplicaciones con Python y Qt4, de novato a novato

Hace ya un tiempo que hago como que programo, y en el camino he probado muchos lenguajes: C, SDCC (basado en C), Python, Gambas (Similar a VBasic), Fortran, Matlab… Pero en ninguno de ellos he profundizado demasiado, limitándome a hacer algunos scripts (para la universidad en el caso de Python, Fortran y Gambas), en todo caso no “excesivamente complejos” , o pequeños programas (principalmente para programar PICS o pinguino).
Solo me he aventurado en la creación de interfaces gráficas con gambas, demostrando este una facilidad tremenda, pero con el defecto de no ser multiplataforma, principalmente.
He de decir que me faltaba cierta dedicación. Por ello, he ido dando tumbos, parones, temporadas en la que programo todos los días y otras en las que me paso semanas o meses sin escribir una linea.
Pero hace unas 3 semanas vi este curso: http://www.youtube.com/watch?v=tKTZoB2Vjuk . En realidad este es el primer enlace de 7 vídeos de los que consta el vídeo. No es un videotutorial; es la grabación de un curso real impartido por un programador de google, explicando los aspectos básicos de python. El curso viene con ejercicios bastante didácticos para asentar lo aprendido. Lo recomiendo encarecidamente.
Tras verlo, me volvieron las ganas de programar. Decidí que las próximas aplicaciones que hiciese para pinguino serían en Python. Pero me faltaban las librerías para hacer la interfaz gráfica. Tras sopesar las opciones (Tkinter, wxpython , pyqt4) me decanté Sigue leyendo…

Ubuntu 11.10, Unity, GNOME 3 y otras hierbas

Aviso: Este post es una opinión personal. El autor no cree tener ni espera ostentar la única verdad ;D.

Viendo los líos y discusiones que se han montado desde que Unity se volvió el entorno de escritorio por defecto en Ubuntu, se ve que es un tema que ha calado hondo en la comunidad, que se ha visto dividida entre los que piensan que Canonical esta llevando a los usuarios a un “corral” al estilo Apple (bueno, esta opinión no es nueva realmente…) y los que opinan que la “temida” por algunos fragmentación solo puede ser resuelta gracias a la mano firme de un grupo que tome las decisiones (ahora que lo pienso, está tampoco es muy novedosa).

Probé Unity cuando salió Ubuntu 11.04. No me gustó. Para nada. Era lenta, poco intuitiva, poco “productiva”… No le ví ningún punto positivo. Volví a mi querido 10.10.

El nuevo baluarte de Canonical

Este mes, tras pensar durante alguna semana si volver a intentarlo o no, decidí probar. Me gustó. Parecía que habían mejorado muchas cosas desde abril. La interfaz era más fluída, no daba la impresión de haber sido diseñada con prisas… Por lo general me agradó bastante, así que decidí seguir con él.

Pero una semana después, tras leer una de esas discusiones y frustrado por no poder configurarlo, probé gnome shell. Esto era otra cosa. Rápido (más que Unity). Coherente. Bonito. Y sí, configurable (Esto mejor no compararlo ¬¬).

Unity se basa en GNOME, ¿quién se impondrá?

He de decir que estoy encantado con el nuevo gnome. Con ello no quiero quitar mérito a los desarrolladores de Canonical; es más, creo que han hecho bien añadiendo otra opción más a los entornos de escritorio. Además, en la versión 12.04 estoy seguro de que añadirán grandes mejoras. Mientras sea software libre, somos nosotros los que decidimos qué nos conviene más.

Así que menos enfados, y ¡a disfrutar más de las opciones que tenemos!

Wallpaper de calendario-dodecaedro con Blender

Bueno, pese a que la última entrada fue de hace 4 meses, no me he perdido, sigo aquí e intentaré seguir subiendo cosas que me parezcan interesantes.

Hace un tiempo, cuando vi esta página, me dieron ganas de hacer el dodecaedro-calendario. Pero siendo realista, y sabiendo lo manazas que soy, desistí. Pero para los torpes como yo los ordenadores nos dan una alternativa: 3d! Por eso, cogí Blender y en 5 minutos lo modelé.

El renderizado lo hice en Luxrender, y eso sí que tardó un tiempecillo (menos de una hora entre mi netbook y mi sobremesa). La resolución es de 1366×768, así que solo os servirá si tenéis alguna pantalla pequeña…

No es nada del otro mundo, hasta diría que es feo, pero cuando llegue diciembre intentaré mejorarlo jeje, saludos!

Descargar imagen

PCB Pinguino (KiCad) [Actualizado]

[IMPORTANTE] Si descargaste la versión anterior, descárgate de nuevo esta (la anterior tenía errores).

Hace un par de meses hice un nuevo diseño de placa. Básicamente es igual a uno de los diseños de los de ARDE: Añado el esquemático (para que si alguien quiere pueda hacer modificaciones fácilmente), cambio un poco las dimensiones, la distribución de los componentes y (sobre todo) de las pistas…

Esta, como ya comenté, es una de las mayores ventajas de pinguino: Cualquiera con un soldador y estaño puede montarse uno a un precio bastante bajo. Así que, con los circuitos y los esquemáticos, ¡ya no tenéis excusas para no haceros uno!

Aquí está el archivo con todo lo necesario: Todos los Sigue leyendo…

Módulos Pinguino KiCad

Para diseñar circuitos en los que vamos a utilizar Pinguino, es buena idea crear módulos de éste y agregarlos a nuestros diseños. Por ello he creado 2 módulos; uno para el diseñador de esquemáticos y otro para el diseñador de PCBs, ambos en KiCad.

Módulos Pinguino Kicad

Simplemente descomprime este archivo, y ponlo en una carpeta (llamada por ejemplo ‘Biblioteca’). Dentro están todos los archivos necesarios.

Espero que le sea útil a alguien; saludos!

Pinguino X y Blender

Debido a los estudios no he podido postear nada en meses, pero bueno, ya llega el tiempo libre, y vuelta al blog!

Los de Pinguino van a sacar dentro de poco la versión X (aunque ya se puede descargar en la página oficial) y, aprovechando que estoy aprendiendo algo de blender (otro programa del que tengo que hablar algún día), he hecho un pequeño render.

Espero que os guste!

Saludos!

Proyectos Pingüino: Templogger (y II)

Leyendo nuestra memoria!

Bueno, después de varios días, aquí llega la segunda parte del proyecto Templogger. En la entrada anterior nos habíamos quedado con un programa que grababa en una memoria EEPROM los datos de un sensor lm35 cada cierto tiempo. En esta parte leeremos esos datos y los manipularemos en el ordenador.

Como he tardado bastante tiempo, he preferido hacer un vídeo para mostrar el funcionamiento:

Lo he editado con Openshot, un editor de video libre, así que está algo mejor que el anterior (que edité con Pitivi), pero hay algún que otro fallo en varios fotogramas que no sé porqué ocurren. Espero que os guste.

Esta es la interfaz del programa hecho con gambas:

Interfaz del programa con Gambas

Es muy sencillo, sólo tiene tres botones: Conexión / desconexión, graficar datos y exportarlos al portapapeles. La función de graficar llama a un script escrito con python cuyas dependencias son pylab, numpy, scipy y matplotlib (creo que numpy , scipy y matplotlib estén integradas en pylab, pero como no estoy seguro mejor descárgalas también). Más información: scipy/numpy/pylab, matplotlib.

Ejemplo de gráfica resultante

Cuando el programa de gambas lee los datos, los muestra y los exporta tal cual los ha tomado el pic del lm35. Esto lo hago para poder manipularlos como quiera después. El script de python sí que los convierte a valores de temperatura reales.

Espero que os sea útil,el código está subido en mi repositorio pinguino de github.

¡Saludos!