<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi,<div><br></div><div>I’m trying to get Qt’s native events support working in PyQt.</div><div><br></div><div>As per this documentation: http://qt-project.org/doc/qt-5.0/qtcore/qabstractnativeeventfilter.html </div><div><br></div><div>I wrote the following code:</div><div><br></div><div><div>class MacEventFilter(QtCore.QAbstractNativeEventFilter):</div><div>    def __init__(self):</div><div>        super(MacEventFilter, self).__init__()</div><div><br></div><div>    def nativeEventFilter(self, QByteArray, sip_voidptr):</div><div>        sip_voidptr.setsize(4) #32 bit (?)</div><div>        cobject = sip_voidptr.ascobject()</div><div>        print(repr(cobject))</div><div>        #cp = cast(sip_voidptr.asstring(), POINTER(c_void_p))</div><div>        print(cp.contents)</div><div>        return True</div><div><br></div><div>mef = MacEventFilter()</div><div>app.installNativeEventFilter(mef)</div></div><div><br></div><div>The problem I am having is I do not know know to deal with sip_voidptr. The documentation casts this into … something, and continues to use it. I’m working on a Mac application, so in that case it seems I have to cast this into an <i>EventRef</i>. </div><div><br></div><div>The sole documentation I can find about EventRef is this: http://oreilly.com/catalog/learncarbon/chapter/ch06.html#CHAP-CH06-6</div><div><br></div><div>Is this already a SIP, Qt or PyQt object? How can I cast this? Python does not do casting to classes(structs?), so there must be some way in SIP to handle this. But I do not know where to start looking or what is it called. </div><div><br></div><div>After I cast this, I will (hopefully) have an event object that can give me information about the event.</div><div><br></div><div>My ultimate purpose is to be aware when my user clicks the dock icon on Mac. Clicking on the dock icon should draw the UI if it is closed, and bring the UI to the front if it is open but in the background. Qt unfortunately does not offer a native way to handle click to the dock icon.</div><div><br></div><div>Any pointers on where to start?</div><div><br></div><div>Regards,</div><div>Burak</div></body></html>