Interfaz de usuario con pyqt
En algunas ocasiones es importante añadir un interfaz de usuario a nuestros programas, para que puedan ser usado por un público no necesariamente técnico.
Podemos hacer esto con pyqt. En el siguiente ejemplo vemos como crear un interfaz sencillo que tiene:
- 🧮 Un contador
- ➕ Un botón que al pulsarlo incrementa el contador en
1. - 🎉 Una sorpresa cuando el contador llega a
100.
Vamos a usar los siguiente componentes:
QHBoxLayoutnos permite organizar los elementos en la pantalla.QLabelnos permite añadir un texto con una etiqueta al interfaz.QPushButtonpermite crear un botón con un comportamiento definido conclicked.connect.
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton, QLabel
class AppContador(QWidget):
def __init__(self):
super().__init__()
self.contador = 0
self.setWindowTitle("Contador")
self.setGeometry(100, 100, 300, 200)
layout = QHBoxLayout()
self.label = QLabel("0", self)
self.label.setStyleSheet("font-size: 30px;")
self.button = QPushButton("Incrementar", self)
self.button.setStyleSheet("""
font-size: 20px;
border-radius: 20px;
background-color: #4CAF50;
color: white;
padding: 10px;
border: 2px solid #3E8E41;
""")
self.button.clicked.connect(self.suma_contador)
layout.addWidget(self.label)
layout.addWidget(self.button)
self.setLayout(layout)
def suma_contador(self):
self.contador += 1
if self.contador == 100:
self.label.setText("🎉")
self.contador = 0
else:
self.label.setText(str(self.contador))
Una vez tenemos la aplicación, la podemos ejecutar de la siguiente forma.
if __name__ == "__main__":
app = QApplication(sys.argv)
w = AppContador()
w.show()
sys.exit(app.exec())
✏️ Ejercicios:
- Usa
pyinstallerpara poder distribuir este aplicación a usuarios que no tengan Python, pudiendo ejecutarlo sin instalarlo.