[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 09:39:50 GMT 2017
On 30 Jan 2017, at 11:19 pm, slepton at posteo.de wrote:
>
> Hello,
>
> I am trying to use QWinEventNotifier on PyQt 5.6 / Python 3.5 with a custom slot. My Problem is, that I can't figure out what decorator to use.
>
> The relevant code snippet looks like this:
>
>
>
> def register(self):
> # Windows event
> self.receive_event = win32event.CreateEvent(None, 0, 0, None)
> # Code to register the event with the PCAN API
> # ...
> self.PCANrevieceEventHandler = QWinEventNotifier(parent=self)
> self.PCANrevieceEventHandler.setHandle(ctypes.c_int(self.receive_event))
> self.PCANrevieceEventHandler.activated.connect(self.msg_recev)
>
>
> @pyqtSlot( ) # I tried int, ctypes.c_int, ... nothing
> def msg_recev(self, handle):
> # read the buffer
>
>
> I get TypeError: connect() failed between activated(Qt::HANDLE) and unislot()
>
>
> I know, that in Qt 5.8 there would be QtSerialBus to propperly handle this, looking at the Qt src, QWinEventNotifier seems to be the right thing to use...
>
> What is the propper way to do this?
Try without a decorator and see what is actually passed in.
Phil
More information about the PyQt
mailing list