[PyQt] How to connect the activated signal of QWinEventNotifier to a custom slot in pyqt 5.6
Phil Thompson
phil at riverbankcomputing.com
Tue Jan 31 12:14:28 GMT 2017
On 31 Jan 2017, at 11:59 am, slepton at posteo.de wrote:
>
> Hi Phil,
>
> thanks for the quick reply.
>
>
> 1. Looking at QWinEventNotifier the Signal is voidptr, right?
>
> class QWinEventNotifier(QObject):
> """
> QWinEventNotifier(parent: QObject = None)
> QWinEventNotifier(sip.voidptr, parent: QObject = None)
> """
> def activated(self, sip_voidptr): # real signature unknown; restored from __doc__
> """ activated(self, sip.voidptr) [signal] """
> pass
>
>
>
> 2. Looking at the connection error
>
> TypeError: connect() failed between activated(Qt::HANDLE)
>
> I would assume, that voidptr is acctually a Qt::HANDLE (http://doc.qt.io/qt-5.6/qt.html#HANDLE-typedef) which I couldn't find in from PyQt5.QtCore import Qt , is this even the right place to look?
>
>
>
> 3. I am not sure I understand correctly what to do, so far the slot I connected to looked like
>
> @pyqtSlot(int)
> def event_slot(self, event):
> # do something ...
>
> For the @pyqtSlot decorator I additionally tried @pyqtSlot() and in a desperate attempt @pyqtSlot(ctypes.c_int) since this would be the correct type for the win32event.
>
> What decorator can I use to further track down the problem?
@pyqtSlot('Qt::HANDLE')
should work, but you don't need a decorator at all.
Phil
More information about the PyQt
mailing list