本文共 1409 字,大约阅读时间需要 4 分钟。
在QMainWindow对象的标题栏下方,水平的QMenuBar被保留显示QMenu对象。QMenu类提供了一个可以添加到菜单栏的小控件,也用于创建上下文菜单和弹出菜单。
方法 | 描述 |
---|---|
menuBar() | 返回主窗口的QMenuBar对象 |
addMenu() | 在菜单栏中添加一个新的QMenu对象 |
addAction() | 向QMenu小控件中添加一个操作按钮,其中包含文本或图标 |
setEnabled() | 将操作按钮状态设置为启用或禁用 |
addSeperator() | 在菜单栏中泰一条分隔线 |
clear() | 删除菜单或菜单栏中的内容 |
setShortcut() | 将快捷键关联到操作按钮 |
setText() | 设置菜单项的文本 |
setTitle() | 设置QMenu小控件的标题 |
text() | 返回与QAction对象关联的文本 |
title() | 返回QMenu小控件的标题 |
单击任何QAction按钮时,QMenu对象都会发射triggered信号。
import sys,mathfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class Win(QMainWindow): def __init__(self): super().__init__() self.setGeometry(300, 300,400, 380) self.setWindowTitle('QMenuBar的使用') layout = QHBoxLayout() bar = self.menuBar() file = bar.addMenu("File") file.addAction("New") save = QAction('Save',self) save.setShortcut('Ctrl+S') file.addAction(save) edit = file.addMenu("Edit") edit.addAction('copy') edit.addAction('paste') quit = QAction('Quit',self) file.addAction(quit) self.setLayout(layout) file.triggered[QAction].connect(self.processtrigger) def processtrigger(self,q): print(q.text()+'is triggered') if __name__ == "__main__": app = QApplication(sys.argv) form = Win() form.show() sys.exit(app.exec_())
运行效果如下:
转载地址:http://wtozi.baihongyu.com/