[PyQt] Fwd: database notification

Paolo De Stefani paolo at paolodestefani.it
Tue Jul 21 11:23:09 BST 2015


Thank you Phil

After some attempts i found that this works:

db.driver().notification['QString', 'QSqlDriver::NotificationSource', 
'QVariant'].connect(notify_handle)

and this too:

db.driver().notification[str, 'QSqlDriver::NotificationSource', 
'QVariant'].connect(notify_handle)

maybe this is usefull for other people troubling with similar problems

Paolo De Stefani

Il 21/07/2015 09:46 Phil Thompson ha scritto:
> 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
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt


More information about the PyQt mailing list