qtdesigner二级菜单
时间: 2025-04-02 14:06:05 浏览: 56
### 如何在 Qt Designer 中实现二级菜单
在 Qt Designer 中实现二级菜单通常涉及创建 `QMenuBar` 和其子项 `QMenu`,并通过嵌套的方式构建多级菜单结构。以下是具体的操作说明和示例代码:
#### 使用 Qt Designer 创建二级菜单
通过图形化界面工具 Qt Designer 可以轻松完成这一过程:
1. 打开 Qt Designer 并加载或新建一个窗口文件(`.ui` 文件)。
2. 在左侧的控件列表中找到并拖动 **Menubar (QMenuBar)** 到主窗体上[^2]。
3. 单击 Menubar,在顶部会显示默认的 “Menu” 文本。
4. 将鼠标悬停在此处并右键点击,选择 **Add Menu** 来添加一级菜单。
5. 对于每一级菜单,可以继续在其内部右键点击,选择 **Add Submenu** 来添加下拉选项中的子菜单。
#### 示例代码展示
当保存 `.ui` 文件后,可以通过 Python 的 PyQt/PySide 工具将其转换为可执行脚本,并运行程序查看效果。下面是一个简单的例子来演示如何动态设置二级菜单功能:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QMenu
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
menubar = self.menuBar()
# 创建一级菜单 'File'
file_menu = menubar.addMenu('File')
# 向 File 菜单中添加动作 Action
new_action = QAction('New', self)
open_action = QAction('Open', self)
# 添加分隔符
file_menu.addAction(new_action)
file_menu.addAction(open_action)
file_menu.addSeparator() # 插入分割线
# 创建二级菜单 'Settings' 下面再加一层 submenu 'Preferences'
settings_menu = menubar.addMenu('Settings') # 一级菜单 Settings
preferences_submenu = QMenu('Preferences', self) # 子菜单 Preferences
theme_option = QAction('Theme', self)
language_option = QAction('Language', self)
preferences_submenu.addAction(theme_option)
preferences_submenu.addAction(language_option)
settings_menu.addMenu(preferences_submenu) # 把子菜单加入到父菜单里
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
上述代码展示了如何手动编写带有二级菜单的应用程序逻辑[^1]。如果希望直接利用 Qt Designer 完成,则只需按照前面提到的方法设计好 UI 结构即可。
---
阅读全文
相关推荐


















