PyQt4: creare connessioni signal slot senza usare Qt designer

Qt designer 3 permetteva di creare connessioni a funzioni definite dall'utente. Questa caratteristica e' stata rimossa nella versione 4 poiche' si e' preferito rimanere quanto piu' fedeli possibile al concetto che il designer serve per disegnare e non per programmare.
Le connessioni andranno quindi scritte a mano nel codice.

Il metodo da usare per le connessioni e' QtCore.QObject.connect. Al posto di QtCore.QObject ovviamente mettere qualsiasi oggetto erede di questa classe (una QApplicatio per esempio). Vediamo quali sono gli argomenti corretti da inserire in questo metodo.
Le connessioni ammesse sono tra uno o piu' segnali con uno o piu' slot o segnale e sono schematizzate qui di seguito:
QtCore.QObject.connect(widget1, Segnale, Funzione o metodo Python)
QtCore.QObject.connect(widget1, Segnale, widget2, Slot)
Nel primo caso, che molto probabilmente e' il piu' frequente, viene emesso un segnale dalla widget1 e viene collegato ad una funzione o ad un metodo definito nel nostro codice.
Nel secondo caso il segnale viene collegato ad uno slot della widget 2.

Allo stesso modo e' possibile scollegare gli oggetti in questione con il metodo QtCore.QObject.disconnect.

Nessun commento: