Curso de PyQT: Conectando señales y slots.

Posted by


En PyQT, una parte fundamental para el desarrollo de interfaces gráficas interactivas es la conexión de señales con slots. Esto nos permite responder a eventos de usuario, como hacer clic en un botón o cambiar un valor en un campo de entrada.

En este tutorial, vamos a aprender cómo conectar señales con slots en PyQT para poder responder a eventos de manera dinámica.

  1. Importar las librerías necesarias:
    Antes de comenzar, asegúrate de tener instalada la biblioteca PyQt5. Si no la tienes, puedes instalarla fácilmente utilizando pip:
pip install PyQt5

Una vez que tengas PyQt5 instalado, puedes importar las clases necesarias en tu script de Python:

from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QMessageBox
  1. Crear una clase principal:
    Lo primero que debemos hacer es crear una clase que herede de QMainWindow, la cual será nuestra ventana principal:
class MiVentana(QMainWindow):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setWindowTitle('Ejemplo de Conexión de Señales con Slots')
        self.setGeometry(100, 100, 400, 300)

        btn = QPushButton('Haz clic', self)
        btn.clicked.connect(self.mostrarMensaje)

    def mostrarMensaje(self):
        QMessageBox.information(self, 'Mensaje', 'Has hecho clic en el botón')

En esta clase, hemos creado una ventana con un botón. Hemos conectado la señal clicked del botón con el slot mostrarMensaje, el cual abrirá un cuadro de diálogo de información cuando hagamos clic en el botón.

  1. Crear la aplicación y la ventana principal:
    Una vez definida nuestra clase principal, necesitamos crear una instancia de la aplicación y mostrar la ventana:
if __name__ == '__main__':
    app = QApplication([])
    ventana = MiVentana()
    ventana.show()
    app.exec_()
  1. Ejecutar el programa:
    Para probar nuestro programa, guarda el script en un archivo llamado main.py y ejecútalo desde una terminal:
python main.py

Deberías ver una ventana con un botón que al hacer clic en él, mostrará un cuadro de diálogo con el mensaje "Has hecho clic en el botón".

  1. Conectar señales con slots personalizados:
    Además de conectar señales con los slots predeterminados de PyQt, también puedes conectar señales con funciones personalizadas. Por ejemplo:
def realizarAccion(self):
    print('Realizando la acción')

btn.clicked.connect(self.realizarAccion)

En este caso, al hacer clic en el botón se imprimirá en la consola el mensaje "Realizando la acción".

En resumen, conectar señales con slots en PyQT es una característica fundamental para crear interfaces gráficas interactivas y responder dinámicamente a eventos de usuario. En este tutorial, hemos aprendido cómo hacerlo de forma sencilla y cómo conectar señales con funciones personalizadas. ¡Espero que te haya sido útil este tutorial!

0 0 votes
Article Rating

Leave a Reply

8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@abeljbetancourt1036
3 days ago

NECESITO AYUDA

@jeanmartialgillette7172
3 days ago

Como crear señales personalizadas y usarlas adecuadamente?

@marcorivas3449
3 days ago

muchas gracias, explica muy bien

@GuerreroSUD
3 days ago

Ayuda por favor, no me deja guardar el archivo en la ubicación por defecto, dice que no tengo permisos.

@jennifercheung3650
3 days ago

Que guay! Gracias por el vídeo!!

@flipfliper3321
3 days ago

ME ENCANTA!! DIVERTIDO Y FACIL!!

@oscarmonroy3626
3 days ago

hola disculpe yo quiero hacer que un botón tenga un numero definido y que al presionarlo me lo escribiera en una caja de texto no se si eso se podría hacer y como se haría para vincular el botón a la caja de texto

@antoniovalderrama7080
3 days ago

Cordial saludo Maestro; muy claro y muchas gracias.

8
0
Would love your thoughts, please comment.x
()
x