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
8 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@abeljbetancourt1036
2 months ago

NECESITO AYUDA

@jeanmartialgillette7172
2 months ago

Como crear seΓ±ales personalizadas y usarlas adecuadamente?

@marcorivas3449
2 months ago

muchas gracias, explica muy bien

@GuerreroSUD
2 months ago

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

@jennifercheung3650
2 months ago

Que guay! Gracias por el vΓ­deo!!

@flipfliper3321
2 months ago

ME ENCANTA!! DIVERTIDO Y FACIL!!

@oscarmonroy3626
2 months 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
2 months ago

Cordial saludo Maestro; muy claro y muchas gracias.