[PyQt] Fwd: database notification

Phil Thompson phil at riverbankcomputing.com
Tue Jul 21 08:46:27 BST 2015


On 21/07/2015 8:26 am, Paolo De Stefani wrote:
> Is there anybody that can help me ?
> 
> -------- Messaggio originale --------
> Oggetto: [PyQt] database notification
> Data: 20/07/2015 12:20
> Mittente: Paolo De Stefani <paolo at paolodestefani.it>
> Destinatario: PyQt at riverbankcomputing.com
> 
> I'm try to manage database notifications from pyqt. From the Qt docs
> there are 2 signals:
> 
> void	notification(const QString & name)
> void	notification(const QString & name, QSqlDriver::NotificationSource
> source, const QVariant & payload)
> 
> the second one can catch the payload and is the signal i want to
> connect to a python slot
> 
> From the PyQt docs i see that "The pyqtSlot() decorator can be used to
> specify which of the signals should be connected to the slot."
> 
> So this is the code i use:
> 
>     db.driver().subscribeToNotification(CHANNEL)
>     db.driver().notification.connect(notify_handle)
> 
> @pyqtSlot(str, int, str)

...which is not the signature of the signal.

> def notify_handle(text1, num='Nothing', text2='Nothing'):
>     print("TXT1", text1, "NUM", num, "TEXT2", text2)
> 
> I test the code and i can catch the signal BUT looks like i'm using
> the first form of the signal not the second so i can not get the
> payload.

Just select the correct signal using indexing and connect to an 
undecorated slot.

Phil


More information about the PyQt mailing list