pyqt5菜单栏点击事件
时间: 2023-06-12 07:04:48 浏览: 183
在 PyQt5 中,可以通过 `QMenuBar` 类创建菜单栏,通过 `QMenu` 类创建菜单,通过 `QAction` 类创建菜单项。
要为菜单项添加点击事件,可以使用 `QAction.triggered` 信号。具体步骤如下:
1. 创建菜单栏和菜单项,并将菜单项添加到菜单中:
```python
from PyQt5.QtWidgets import QMainWindow, QMenuBar, QMenu, QAction
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
menubar = self.menuBar()
file_menu = menubar.addMenu('File')
new_action = QAction('New', self)
file_menu.addAction(new_action)
open_action = QAction('Open', self)
file_menu.addAction(open_action)
```
2. 为菜单项添加点击事件处理函数:
```python
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
menubar = self.menuBar()
file_menu = menubar.addMenu('File')
new_action = QAction('New', self)
file_menu.addAction(new_action)
new_action.triggered.connect(self.on_new_clicked)
open_action = QAction('Open', self)
file_menu.addAction(open_action)
open_action.triggered.connect(self.on_open_clicked)
def on_new_clicked(self):
print('New clicked')
def on_open_clicked(self):
print('Open clicked')
```
在上面的代码中,我们为 `new_action` 和 `open_action` 分别绑定了 `on_new_clicked` 和 `on_open_clicked` 方法,这两个方法会在对应的菜单项被点击时被调用。在这里,我们只是简单地打印一条消息,你可以根据实际需求来编写具体的事件处理函数。
阅读全文
相关推荐


















