Desarrollo de Aplicaciones con PyCharm y PyQt5

Desarrollo de Aplicaciones con PyCharm y PyQt5

Introducción

En este tutorial, aprenderemos a crear aplicaciones de escritorio con Python y PyQt5. PyQt5 es un marco de desarrollo de interfaces gráficas de usuario (GUI) multiplataforma que se basa en Qt, un marco de código abierto que se utiliza para crear aplicaciones de escritorio, web y móviles.

Requisitos

Para seguir este tutorial, necesitarás lo siguiente:

  • Un ordenador con Windows, macOS o Linux
  • Python 3.8 o superior
  • PyQt5
  • PyCharm

Instalación de PyQt5

Para instalar PyQt5, puedes usar el administrador de paquetes de tu sistema operativo o descargarlo desde el sitio web de PyQt5.

Instalación de PyCharm

PyCharm es un IDE de Python desarrollado por JetBrains. Es una herramienta gratuita y de código abierto que ofrece soporte para PyQt5.

Creación de un nuevo proyecto

Una vez que hayas instalado PyQt5 y PyCharm, puedes crear un nuevo proyecto. En PyCharm, ve a File > New > Project. Selecciona Python > PyQt5 y haz clic en Next.

Estructura del proyecto

Un proyecto de PyQt5 consta de los siguientes archivos:

  • main.py: Este archivo contiene el código principal de la aplicación.
  • ui.py: Este archivo contiene la definición de la interfaz gráfica de usuario.
  • resources.qrc: Este archivo contiene los recursos de la aplicación, como imágenes y archivos de traducción.

Creación de la interfaz gráfica de usuario

La interfaz gráfica de usuario se define en el archivo ui.py. Para crear una interfaz gráfica de usuario simple, puedes usar el diseñador de Qt.

En PyCharm, ve a View > Tools > Qt Designer. Se abrirá el diseñador de Qt.

En el diseñador de Qt, arrastra y suelta los controles de la interfaz gráfica de usuario desde la paleta de controles al área de diseño.

Conectando la lógica de la aplicación a la interfaz gráfica de usuario

La lógica de la aplicación se define en el archivo main.py. Para conectar la lógica de la aplicación a la interfaz gráfica de usuario, puedes usar señales y ranuras de Qt.

Una señal es un evento que se genera por un control de la interfaz gráfica de usuario. Una ranura es una función que se ejecuta cuando se genera una señal.

Para conectar una señal a una ranura, puedes usar el código siguiente:

Python
# Definición de la señal
def on_button_clicked(self):
    print("El botón ha sido pulsado")

# Conexión de la señal a la ranura
self.button.clicked.connect(on_button_clicked)

En este ejemplo, la señal clicked del control button se conecta a la ranura on_button_clicked(). Cuando el usuario pulsa el botón, se genera la señal clicked y se ejecuta la función on_button_clicked().

Ejecución de la aplicación

Para ejecutar la aplicación, puedes usar el botón de reproducción en la barra de herramientas de PyCharm.

Ejemplo de aplicación

A continuación, se muestra un ejemplo de una aplicación de escritorio simple creada con PyQt5:

Python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton


class MyApp(QWidget):
    def __init__(self):
        super().__init__()

        # Definición de la interfaz gráfica de usuario
        self.button = QPushButton("Pulse aquí")
        self.button.setGeometry(100, 100, 100, 25)

        # Conexión de la señal a la ranura
        self.button.clicked.connect(self.on_button_clicked)

        # Disposición de los controles
        self.setLayout(QVBoxLayout())
        self.layout().addWidget(self.button)

        # Mostrar la ventana
        self.show()

    def on_button_clicked(self):
        print("El botón ha sido pulsado")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyApp()
    app.exec_()

Este ejemplo crea una ventana con un botón.