AttributeError: 'QMenu' object has no attribute 'clicked'
时间: 2023-11-04 13:57:11 浏览: 215
这个错误是因为你正在尝试访问 QMenu 对象的 clicked 属性,但 QMenu 并没有这个属性。QMenu 是一个菜单类,它没有被设计为具有 clicked 属性。
如果你想为一个菜单项添加点击事件,你应该使用 QAction 类。QAction 是一个具有 clicked 信号的动作类,当用户点击菜单项时,可以连接到相应的槽函数。
下面是一个示例代码,演示如何在菜单项被点击时触发事件:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QAction
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
menu = QMenu(self)
action = QAction("Click me", self)
action.triggered.connect(self.on_action_triggered)
menu.addAction(action)
self.menuBar().addMenu(menu)
def on_action_triggered(self):
print("Menu item clicked")
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
阅读全文