views:

52

answers:

2

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.

+1  A: 

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

jkerian
A: 
Prof.Ebral