我一直在尝试将这里的示例转换为适用于简单标签的代码。
以下是代码:
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)
现在奇怪的是,这实际上是有效的,但我的控制台会被刷屏显示“mousemove!”(很好),同时还会出现错误:TypeError: invalid result type from mouseoverEvent.eventFilter()
我还没有完全弄清楚事件之间的复杂关系,所以这对我来说有点难以理解。那么,是什么原因呢?
提前致谢。
QLabel
的标签属性为Qt.WA_Hover
并捕获/处理QLabel
的QHoverEvent
事件。这对某些人可能会有帮助。 - krizajb