viernes, 27 de septiembre de 2019

NIFTux, mi primera aplicación hecha con python y pyqt

NIFTux es una calculadora de la letra del NIF hecha con python 3 y pyqt para GNU/Linux, aunque debería funcionar también en Windows y OSX.


Esta es mi primera aplicación creada con es lenguaje y librería todo un clásico en el aprendizaje de lenguajes nuevos.

Para poder desarrollarla o ejecutarla hay que instalar los siguientes paquetes:
sudo apt install python3 python3-minimal python3-netifaces python3-pyperclip python3-pyqt5 python3-python-utils python3-setuptools 

Desarrollo de la interfaz

La interfaz se ha desarrollado con pyqt 5, concretamente con QT Designer que se puede localizar en la categoría 'Desarrollo' dentro del menú de tu distro una vez instalada.

El funcionamiento es muy sencillo, vamos añadiendo los distintos elementos que va a tener el programa (widgets) y luego guardamos el proyecto, que se guardará en formato json con la extensión ui.

Hay que convertir este archivo json en otro que sea código python para lo que usamos el siguiente comando:
pyuic5 -x miprogramagui.ui -o miprogramagui.py


La parte de programación

El código generado por pyqt no debe modificarse directamente porque cuando hagamos una modificación en la gui y lo regeneremos se perderían los cambios, así que hay que hacer otro programa (p.e.: mi programa.py) que llame a dicho código (miprogramagui.py), como es una parte muy complicada para explicar en un artículo, lo mejor es que mires el código como lo tengo hecho para hacerte una idea sobre como funciona.
En esta ocasión he usado PyCharm Community para editar el código, pero puedes usar cualquier editor profesional para programación como jEdit, NetBeans, Eclipse...


Funcionamiento

Se ejecuta con el comando:
python3 niftux.py
Como siempre te puedes hacer un acceso directo para facilitar la ejecución desde el entorno gráfico.

El funcionamiento es tan intuitivo que tampoco voy a profundizar mucho, haces clic con el ratón en los botones correspondientes o usas el teclado para introducir la cifra, pudiendo borrar la última con el botón Backspace o toda ella con el botón Delete.
Soporta el portapapeles del sistema pudiéndose copiar y pegar con los botones de la aplicación o con los del teclado.
Se sale con la tecla ESC o cerrando la ventana.


Enlaces para profundizar

Si quieres hacer tus propias aplicaciones con pyqt y python3 lo mejor es que mires la documentación que miré yo y toda la que encuentres por ahí, ya que el aprendizaje de un nuevo lenguaje y sacarle todo el jugo es un proceso que requiere mucho esfuerzo y tesón, para empezar os dejo algunos enlaces:

10 comentarios:

  1. Curso de creación de videojuegos en python, Java, JavaScript...
    https://m.youtube.com/watch?v=DUsxZLWdRGI&list=PLdLhegjjdnsAfKCs6T4u_DxLY8NWx7m8e

    ResponderEliminar
  2. https://www.atareao.es/tutorial/aplicacion-grafica-linux/

    ResponderEliminar
  3. https://m.youtube.com/watch?v=8dlvGIlc6pA

    ResponderEliminar
  4. Aprender python haciendo videojuegos multiplataforma
    https://m.youtube.com/watch?v=ktJq91NoQBk

    ResponderEliminar
  5. https://m.youtube.com/watch?list=PLtYbsbDEiA64xG7QwGEFFOr8BECSFaOyQ&v=F_AaEoQyldc
    Un curso intenso pero muy interesante sobre pyqt.

    ResponderEliminar
  6. Para instalar pyside2 en lugar de pyqt
    pip3 install pyside2

    ResponderEliminar
  7. https://rico-schmidt.name/pymotw-3/subprocess/

    ResponderEliminar
  8. Introduction to the Python tkinter Canvas widget
    https://www.youtube.com/watch?v=m64ZPOoQnm4

    ResponderEliminar
  9. http://page.sourceforge.net/#Installation

    ResponderEliminar
  10. Espero que a nadie le haga falta esto:
    Install Python 2 on Ubuntu 20.04 Focal Fossa Linux
    http://linuxconfig.org/install-python-2-on-ubuntu-20-04-focal-fossa-linux

    ResponderEliminar