Eventos en Interfaces gráficas con PyQt5: señales y slots

Posted by

<!DOCTYPE html>

Eventos: señales y slots | Interfaces gráficas con PyQt5

Eventos: señales y slots | Interfaces gráficas con PyQt5

En interfaces gráficas, los eventos son acciones que realiza el usuario, como hacer clic en un botón, mover el cursor sobre un elemento o cambiar el valor de un campo de entrada. En PyQt5, se utilizan señales y slots para manejar estos eventos de forma eficiente.

Una señal es emitida cuando ocurre un evento en un widget, como hacer clic en un botón. Un slot es una función que se ejecuta en respuesta a una señal específica. Para conectar una señal con un slot, se utiliza el método connect() en PyQt5.

Por ejemplo, para conectar la señal de hacer clic en un botón con un slot que muestra un mensaje en una ventana emergente, se hace lo siguiente:

“`python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QMessageBox

class MiVentana(QMainWindow):
def __init__(self):
super().__init__()

boton = QPushButton(‘Click me’, self)
boton.clicked.connect(self.mostrar_mensaje)

def mostrar_mensaje(self):
QMessageBox.information(self, ‘¡Hola!’, ‘¡Has hecho clic en el botón!’)

if __name__ == ‘__main__’:
app = QApplication(sys.argv)
ventana = MiVentana()
ventana.show()
sys.exit(app.exec_())
“`

En este ejemplo, la señal clicked del botón conecta con el slot mostrar_mensaje(), que muestra un mensaje en una ventana emergente cuando se hace clic en el botón.

En resumen, en PyQt5 se utilizan señales y slots para manejar eventos de forma eficiente en interfaces gráficas. Conectar una señal con un slot es fácil y permite realizar acciones en respuesta a eventos del usuario, como hacer clic en un botón o mover el cursor sobre un elemento.