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:
# 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:
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.