【发布时间】:2011-04-20 23:34:58
【问题描述】:
我一直在尝试将示例 here 转换为使用简单标签。
代码如下:
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并捕获/处理QHoverEvent甚至QLabel。可能对某人有帮助。