PyQt5 QMenuBar,QMenu和QAction小部件
一个水平的 QMenuBar 位于QMainWindow对象的标题栏下方,用于显示QMenu对象。
QMenu 类提供了一个可以添加到菜单栏的小部件。它还用于创建上下文菜单和弹出菜单。每个QMenu对象可以包含一个或多个 QAction 对象或级联的QMenu对象。
为了创建一个弹出菜单,PyQt API提供了 createPopupMenu() 函数。menuBar()函数返回主窗口的QMenuBar对象。用 addMenu() 函数将菜单添加到菜单栏中。然后,使用 addAction() 方法在菜单中添加动作。
下表列出了设计菜单系统时使用的一些重要方法。
序号 | 方法和描述 |
---|---|
1 | menuBar() 返回主窗口的QMenuBar对象 |
2 | addMenu() 在菜单栏中添加一个新的QMenu对象 |
3 | addAction() 向QMenu小部件添加一个由文本或图标组成的操作按钮 |
4 | setEnabled() 将操作按钮的状态设置为启用/禁用 |
5 | addSeperator() 在菜单中添加一个分隔线 |
6 | Clear() 清除菜单/菜单栏的内容 |
7 | setShortcut() 为操作按钮关联键盘快捷方式 |
8 | setText() 为操作按钮分配文本 |
9 | setTitle() 设置QMenu小部件的标题 |
10 | text() 检索与QAction对象关联的文本 |
11 | title() 检索与QMenu对象关联的文本 |
QMenu对象在任何QAction按钮被点击时发射 triggered() 信号。连接的槽函数接收到所点击的QAction对象的引用。
示例
在这个示例中,首先将对顶层窗口的QMenuBar对象(必须是QMainWindow对象)的引用存储起来。
通过addMenu()方法将文件菜单添加到菜单栏。
菜单中的动作按钮可以是字符串或QAction对象。
在顶级菜单上添加了一个子菜单。
由文件菜单发出的triggered()信号与processtrigger()方法连接,该方法接收引起该信号的QAction对象。
完整的代码如下所示−
输出
上述代码产生以下输出: