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:
QHBoxLayout
nos permite organizar los elementos en la pantalla.QLabel
nos permite añadir un texto con una etiqueta al interfaz.QPushButton
permite 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
pyinstaller
para poder distribuir este aplicación a usuarios que no tengan Python, pudiendo ejecutarlo sin instalarlo.