【第四章】Menus and toolbars in PyQt5(菜单和工具栏)

本文介绍了如何在PyQt5中使用QMainWindow创建经典应用程序框架,包括设置状态栏、菜单栏和工具栏。详细讲解了菜单的创建、QAction的使用、上下文菜单的实现以及工具栏的添加。示例代码展示了如何添加退出操作、显示状态信息以及创建可选择的菜单项。
摘要由CSDN通过智能技术生成

这一部分 我们将介绍状态栏、菜单栏和一个工具栏,菜单是一组位于菜单栏的命令。工具栏上的按钮包含应用程序中的一些常用命令,状态栏显示状态信息,通常位于应用程序窗口的底部。

QMainWindow

QMainWindow类提供了一个主应用程序窗口,这样可以创建一个带有状态栏、工具栏和菜单栏的经典应用程序框架。

Statusbar

状态栏是用于显示状态信息的小组件。

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication

class Example(QMainWindow):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):

        self.statusBar().showMessage("Ready")
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('statusBar')
        self.show()


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

状态栏是基于QMainWindow小部件所创建的。

self.statusBar().showMessage('Ready')

我们可以通过使用QtGui.QMainWindow类里面的statusBar()方法创建一个状态栏。以上语句的第一部分创建了一个状态栏,后续部分将调用前面返回的状态栏对象,showMessage()将在状态栏上显示一条消息。

Simple menu

菜单栏是GUI应用程序里经常用到的一部分,它是位于各种菜单中的一组命令,(Mac Os对菜单栏的处理方式不同,为了获得类似的结果,我们可以添加这一条语句:menubar.setNativeMenuBar(False)

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

class Example(QMainWindow):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):

        exitAct = QAction(QIcon('test.jpg'), '&Exit', self)
        exitAct.setShortcut('Ctrl+Q')
        exitAct.setStatusTip('Exit application')
        exitAct.triggered.connect(qApp.quit)

        self.statusBar()

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        fileMenu.addAction(exitAct)

        # self.statusBar().showMessage("Ready")
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Simple menu')
        self.show()


if __name__ == '__main__':
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值