实战PyQt5: 040-菜单栏QMenuBar

QMenuBar简介

在QMainWindow主窗口对象的标题栏下方,一般会有一个QMenuBar菜单栏对象,通过QMainWindow.menuBar()可以获取该QMenuBar对象,通过QMenuBar对象的addMenu方法可以在菜单栏添加可以具有子菜单的菜单项。addAction()可添加不带子菜单的菜单项。

QMenuBar常用方法有:

  • addMenu(): 在菜单栏中添加一个新的QMenu对象,通过QMenu对象添加下拉菜单;
  • addAction(): 在菜单栏添加一个不带下拉菜单的菜单项;
  • clear(): 删除菜单栏中的所有菜单项。

QMenuBar类继承关系:

实战PyQt5: 040-菜单栏QMenuBar

 

测试QMenuBar

创建文件qmenbar.py, 在菜单栏上使用addMenu和addAction方法演示向菜单栏添加菜单项。完整代码如下:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import (QApplication, QMainWindow, QMenuBar, QMenu, QAction,
                            QPlainTextEdit)
 
class DemoMenuBar(QMainWindow):
    def __init__(self, parent=None):
        super(DemoMenuBar, self).__init__(parent)       
        
        # 设置窗口标题
        self.setWindowTitle('实战PyQt5: QMenuBar Demo!')      
        # 设置窗口大小
        self.resize(400, 300)
      
        self.initUi()
        
    def initUi(self):
        menuBar = self.menuBar()
        #添加一个菜单项,在菜单项下课添加子菜单项
        fileMenu = menuBar.addMenu('文件')
        #添加一个不带子菜单项的菜单
        menuBar.addAction('帮助')
        
        #文件操作
        fileMenu.addAction(QAction('新建', self))
        fileMenu.addAction(QAction('打开', self))
        fileMenu.addSeparator()
        fileMenu.addAction(QAction("保存", self))
        fileMenu.addAction(QAction('另存为', self))
        fileMenu.addSeparator()
        fileMenu.addAction(QAction('退出', self))
              
        #设置一个文本编辑器作为中心widget
        txtEdit = QPlainTextEdit(self)  
        self.setCentralWidget(txtEdit)
     
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = DemoMenuBar()
    window.show()
    sys.exit(app.exec())

运行结果如下图:

实战PyQt5: 040-菜单栏QMenuBar

测试QMenuBar

本文知识点

  • QMainWindows的菜单栏项QMenuBar;
  • QMenuBar添加可带弹出子菜单的菜单项(用方法addMenu());
  • QMenuBar添加不带弹出子菜单的菜单项(用方法addAction())。

前一篇: 实战PyQt5: 039-进度条控件QProgressBar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值