关于Qt5中利用UI建立二级菜单无法输入中文的处理技巧

关于Qt5中利用UI建立二级菜单无法输入中文的处理技巧

参考

### 如何在 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 结构即可。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值