当光标移动时,我必须激活一些功能 . 所以,我在MainWidget中使用了 self.setMouseTracking(True) . 但是这样 mouseMoveEvent() 只有在光标下有一个空表格时才有效 . 我尝试在main上创建另一个小部件,但它根本不起作用 .
class ClickButton(QPushButton):
def __init__(self, text, window):
...
def run(self):
...
class Window(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(0, 0, 1000, 1000)
self.setMouseTracking(True)
self.clickers = [ClickButton('OK', self) for i in range(8)]
def mouseMoveEvent(self, ev):
for e in self.clickers:
e.run()
该怎么办?
1 回答
如果您想要检测鼠标的位置,即使鼠标位于孩子的顶部,可能的选择是使用事件过滤器 .
另一方面,如果您只想在一种类型的自定义窗口小部件中执行此操作,则最好覆盖自定义窗口小部件的mouseMoveEvent方法: