先看完整代码:

from PySide2.QtWidgets import QApplication,QMainWindow, QAction
import sys
from PySide2.QtGui import QIconclass Window(QMainWindow):def __init__(self):super().__init__()self.setWindowTitle("Simple Note Pad Application")self.setGeometry(300,300,500,400)self.create_menu()self.show()def create_menu(self):mainMenu = self.menuBar()fileMenu = mainMenu.addMenu("File")viewMenu = mainMenu.addMenu("View")editMenu = mainMenu.addMenu("Edit")searchMenu = mainMenu.addMenu("Font")helpMenu = mainMenu.addMenu("Help")openAction = QAction(QIcon('open.png'), "Open", self)openAction.setShortcut("Ctrl+O")saveAction = QAction(QIcon('save.png'), "Save", self)saveAction.setShortcut("Ctrl+S")exitAction = QAction(QIcon('exit.png'), "Exit", self)exitAction.setShortcut("Ctrl+X")exitAction.triggered.connect(self.exit_app)fileMenu.addAction(openAction)fileMenu.addAction(saveAction)fileMenu.addAction(exitAction)def exit_app(self):self.close()myApp = QApplication(sys.argv)
window = Window()
myApp.exec_()
sys.exit(0)

主窗口从QMainWindow继承,create_menu() 里创建菜单。 self.menuBar()是QMainWindow里的方法,返回PySide2.QtWidgets.QMenuBar。

一个QAction就是一个菜单addMenu下面的选项,setShortcut增加快捷方式,exitAction.triggered.connect信号连接到self.exit_app槽。

运行看效果:

如果不清楚其它代码含义,请参考前面课程:

Python界面编程第一课:我们开始用Pyside2 (Qt For Python)

Python界面编程第二课:Pyside2 创建窗口 (Python GUI)

Python界面编程第三课:Pyside2 (Qt For Python)给窗口加个图标

Python界面编程第四课:Pyside2 (Qt For Python)创建图标模式

Python界面编程第五课:Pyside2 (Qt For Python)怎么创建控件提示Tooltip

Python界面编程第六课:Pyside2 (Qt For Python),QPushButton按钮的信号与槽

Python界面编程第七课:Pyside2 (Qt For Python)窗口居中

Python界面编程第八课:Pyside2 (Qt For Python)打开关于窗口

Python界面编程第九课:Pyside2 (Qt For Python)创建数字时钟

Python界面编程第十课:Pyside2 (Qt For Python)创建StatusBar

Python界面编程第十一课:Pyside2 (Qt For Python)创建进度条

Python界面编程第十二课:Pyside2 (Qt For Python)布局管理QVBoxLayout 和 QHBoxLayout

Python界面编程第十三课:Pyside2 (Qt For Python)GridLayout网格布局

Python界面编程第十四课:Pyside2 (Qt For Python)使用Calendar创建日历

Python界面编程第十五课:Pyside2 (Qt For Python)使用CheckBox复选框

Python界面编程第十六课:Pyside2 (Qt For Python)FontComboBox字体选择框

Python界面编程第十七课:Pyside2 (Qt For Python)QCompleter自动完成

Python界面编程第十八课:Pyside2 (Qt For Python)Slider拖动条

Python界面编程第十九课:Pyside2 (Qt For Python)创建菜单相关推荐

  1. Python界面编程第十五课:Pyside2 (Qt For Python)使用CheckBox复选框

    QCheckBox 是什么? QCheckBox 是一个开关选择按钮,有checked和unchecked两个状态. 复选框通常用于表示应用程序中可以启用或禁用而不影响其他功能的功能.可以实现不同类型 ...

  2. Python界面编程第十八课:Pyside2 (Qt For Python)Slider拖动条

    先上代码: from PySide2.QtWidgets import QApplication, QWidget,QHBoxLayout, QLabel, QSlider import sys fr ...

  3. Python界面编程第十四课:Pyside2 (Qt For Python)使用Calendar创建日历

    QCalendar 是什么? QCalendar对象使用特定系统规则将年.月和日映射到特定的日期(最终由它的Julian天数标识). 默认的QCalendar() 是一个扩展的Gregorian日历, ...

  4. Python界面编程第十二课:Pyside2 (Qt For Python)布局管理QVBoxLayout 和 QHBoxLayout

    QHBoxLayout用于构造水平框布局对象,QVBoxLayout用于构造垂直框布局对象. 先看完整代码: from PySide2.QtWidgets import QApplication, Q ...

  5. Python界面编程第二十课:Pyside2 (Qt For Python)文本编辑框QTextEdit

    先看完整代码: from PySide2.QtWidgets import QApplication, QMainWindow, QAction, QTextEdit import sys from ...

  6. Python界面编程第十课:Pyside2 (Qt For Python)创建StatusBar

    QStatusBar 是什么?  QStatusBar类提供了一个适合于显示状态信息的横向条幅. 状态指示分为三类: Temporary – 一般地占据了大部分的状态栏.用于解释控件提示文本或菜单项. ...

  7. JAVA 基础 / 第十九课: 数组 / JAVA 如何创建一个数组

    2018-03-12 数组是一个固定长度的,包含了相同类型数据的容器 一.声明数组: int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都是一个整数 a ...

  8. Python界面编程第二十一课:Pyside2 (Qt For Python)打印预览QTextEdit内容

    Pyside2 的QPrintSupport类中的QPrinter 和 QPrintPreviewDialog支持打印功能. 先看完整代码: from PySide2.QtWidgets import ...

  9. Python界面编程第十三课:Pyside2 (Qt For Python)GridLayout网格布局

    GridLayout 是什么? QGridLayout 是控制网格布局的类. QGridLayout 会占据它的可用空间(通过父布局或parentWidget(),将其划分为行和列,并将其管理的每个控 ...

最新文章

  1. matlab用ezmesh绘制单位球,Matlab------------命令大全2
  2. 从nginx的编译安装,了解编译安装原理
  3. P4211 [LNOI2014]LCA(离线 + 在线 做法)
  4. 实用教程丨官方下载Oracle各版本安装软件及补丁包
  5. textarea统计剩余字数(动态提示)
  6. ocelot 配置文件的动态更新
  7. RMAN-20201: datafile not found in the recovery catalog
  8. Vue折腾记 - (2)写一个不大靠谱的面包屑组件
  9. JavaWeb面试题1
  10. plc控制伺服电机 四轴攻丝机案例 该程序为plc控制伺服电机的工程案例程序,包含伺服电机接线图,包含程序流程的详细解释说明
  11. PS基础,灰度色彩模式
  12. 软件二次开发平台简介
  13. 隐函数存在定理1的几何解释
  14. 淘宝商家批量上架宝贝的方式有哪些
  15. Windows API一日一练 59 CreateFileMapping和MapViewOfFile函数
  16. Java画UML类图
  17. 软件测试需要看英文文档,软件测试类英文面试题.docx
  18. 组态王与mysql数据库通过ODBC连接
  19. 投资理财-老大爷的故事
  20. 赋能千行百业,AI究竟走到哪一步了?

热门文章

  1. 戮默自媒体运营 让国学经典以新的面貌再现
  2. 一款刚开源的报表引擎体验之旅
  3. 一文正确理解 分层架构系统 的接入层设计,以及接入层设计常见的问题和解决方案(雪崩、降级、限流、熔断)
  4. HTML中用 div 绘制一个简单的房子
  5. 企业如何保护专利知识产权安全
  6. 2022年知识产权司法保护状况发布,中创算力:尊重知识产权,共建知识产权强国!
  7. mybatis分页查询插件
  8. 上海快速拿计算机本科文凭,怎么样才能快速获取本科学历文凭
  9. 使用mysql 作数据仓库_从MYSQL迁移数据到华为云数据仓库服务经验总结
  10. Android 符号代表,Android:清单:$符号代表什么?