【发布时间】:2015-11-20 01:18:43
【问题描述】:
我想检测何时在任何 QWidget 上进行了鼠标单击,因此我尝试像这样对 mousePressEvent 进行猴子修补:
qwidgetmousepressevent = QtWidgets.QWidget.mousePressEvent
def overwriteQWidgetMousePressEvent(self, event):
print("mouse press!")
qwidgetmousepressevent(self, event)
QtWidgets.QWidget.mousePressEvent = overwriteQWidgetMousePressEvent
它本身可以正常工作,但无法触发 QPushButton 小部件的点击信号。我想我的问题是,程序行为发生任何变化的可能原因是什么?据我所知,我保持相同的签名并调用相同的代码,但有些东西会导致副作用,我不知道是什么。
【问题讨论】:
-
提供的代码没有提到按钮...您是不是忘记包含某些内容?
标签: python pyqt pyqt5 monkeypatching overriding