我有一个带有FramelessWindowHint的窗口。我还有一个QMenuBar附加到QMainWindow。我想在用户单击菜单栏时捕获鼠标按下事件。我以为我可以像这样上新课:
class menubarclass(QtWidgets.QMenuBar):
def __init__(self, parent):
super().__init__(parent)
然后重新实现该类中的mousePressEvent函数。
def mousePressEvent(self, event):
print("menubar clicked")
问题是重新实现此功能似乎覆盖了菜单栏中菜单/操作的功能-我无法单击它们。
所以我想我需要装饰mousePressEvent而不是重新实现它,但是我不确定如何执行,因为这是一个事件处理程序。
总之,我不想重写mousePressEvent处理程序,但是如果需要的话,可以添加其他代码?
Musicamante为我提供了我需要的答案
如果您只是在实现中调用基本实现(super()。mousePressEvent(event)),它应该可以工作。如果没有,请提供一个最小的,可复制的示例,以便我们了解发生了什么。 – 2分钟前musicamante