栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

PyQt5之MenuBar菜单控件的使用(三)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PyQt5之MenuBar菜单控件的使用(三)

文章目录
  • MenuBar 详解
  • 一、定义
    • 1.QMenuBar类
    • 2.QMenu类
    • 2.QAction类
  • 二、创建一个菜单栏


MenuBar 详解

在PyQt5中,菜单栏、主菜单和菜单项分别用QMenuBar类、QMenu类和QAction类来表示。


一、定义

菜单栏是GUI应用的常规组成部分,是位于各种菜单中的一组命令操作。菜单栏(QMenuBar) 它分为两部分:主菜单(QMenu) 和 菜单项(QAction)。一个QMenu中可包含任意多个QAction对象,也可包含另外的QMenu,用来表示级联菜单。创建一个菜单,基本上都要用上这3个类。

1.QMenuBar类

QMenuBar类是所有窗口的菜单栏,创建菜单栏的两种方法如下:
方法一: QMenuBar类的构造方法

self.menuBar = PyQt5.QtWidgets.QMenuBar(QMainWindow)

方法二:QMainWindow对象的menuBar()方法

self.menuBar = QMainWindow.menuBar()

创建完菜单栏后,就可以使用QMenuBar类的方法对菜单进行设置。

方法说明。
addAction()添加菜单项
addActions()添加多个菜单项
addMenu()添加主菜单
2.QMenu类

QMenu类是菜单栏中的菜单,可显示文本和图标,但不执行操作,类似于标签label的作用。

方法说明
addAction()添加菜单项
addMenu()添加主菜单
setTitle()设置菜单的文本
title()获取菜单的文本
2.QAction类

PyQt5中将用户与界面进行交互的元素抽象为一种“动作”,用QAction类表示。QAction类是一个运行在菜单栏、工具栏和定制键盘快捷键的抽象类,它是一个真正执行操作的部件。该类有一个常用的信号triggered,用来在单击菜单项时发射。

方法说明
setIcon()设置菜单项图标
setShortcut()设置快捷键
setEnabled()设置菜单项是否可用
title()获取菜单项的文本
二、创建一个菜单栏

在下面的例子中,我们创建了一个带有菜单的菜单栏。这个菜单包含了一个动作,如果选中,就会终止应用程序。
代码如下(示例):

# -*- coding: utf-8 -*-
# @Time    : 2022/7/14 14:14

import sys
from PyQt5.QtWidgets import QMainWindow, QAction, QApplication, qApp
from PyQt5.QtGui import QIcon

class Example(QMainWindow):
    def __init__(self):
        super().__init__()
        self.my_initUI()

    def my_initUI(self):
        exitAct = QAction(QIcon('images/exit.ico'), '退出&(Q)', self)     #创建QAction类的对象exitAct。QAction是一个用于菜单栏、工具栏或自定义快捷键的抽象动作行为
        exitAct.setShortcut('Ctrl+Q')    			#调用对象的方法,为这个动作定义一个快捷键
        # exitAct.setStatusTip('退出应用')   	#创建一个当我们鼠标浮于菜单项之上就会显示的一个状态提示
        exitAct.triggered.connect(qApp.quit)      #选中特定的动作,触发信号被发射。信号连接到 QApplication组件的 quit()方法,这样就中断了应用
        # self.statusBar()      					#创建状态栏,用来显示上面的状态提示

        menubar = self.menuBar()            	# menuBar()方法创建了一个菜单栏
        fileMenu = menubar.addMenu('文件&(F)')        #创建一个文件菜单,设置快捷键F
        fileMenu.addAction(exitAct)                 #将退出动作添加到file菜单中
        self.setGeometry(300,300,400,300)
        self.setWindowTitle('菜单栏')
        self.show()

if __name__=='__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

效果图如下:


暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号