Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mouseover event filter for a PyQT Label

I've been trying to convert the example here to work with a simple label.

Here's the code:

class mouseoverEvent(QtCore.QObject):
    def __init__(self, parent):
        super(mouseoverEvent, self).__init__(parent)
    def eventFilter(self, object, event):
        if event.type() == QtCore.QEvent.MouseMove:
            print "mousemove!"
            
self.filter = mouseoverEvent(self)
self.label.installEventFilter(self.filter)

Now curiously, this actually works, but not without my console being spammed with "mousemove!" (good) as well as the error: TypeError: invalid result type from mouseoverEvent.eventFilter()

I've not quite figured out the complex relationship between events yet, so this is a bit greek to me. So, what gives?

Thanks in advance.

like image 761
Cryptite Avatar asked Oct 04 '10 19:10

Cryptite


1 Answers

I believe you need to return True or False from the eventFilter, to indicate whether you have handled the event completely or not.

like image 172
jkerian Avatar answered Nov 15 '22 03:11

jkerian