> 文档中心 > 【Python 实战基础】PyQt6如何创建菜单栏

【Python 实战基础】PyQt6如何创建菜单栏


一、实战场景

实战场景:PyQt6如何创建菜单栏

二、主要知识点

  • 文件读写

  • 基础语法

  • PyQt6

  • sys

三、菜鸟实战

菜单栏在GUI应用程序中很常见,它是位于各种菜单中的一组命令。(Mac OS 对菜单栏的处理是不同的,要得到类似的结果,我们可以添加下面这行: menubar.setNativeMenuBar(False)

import sysfrom PyQt6.QtWidgets import QMainWindow, QApplicationfrom PyQt6.QtGui import QIcon, QActionclass Example(QMainWindow):    def __init__(self): super().__init__() self.initUI()    def initUI(self): exitAct = QAction(QIcon('exit.png'), '&Exit', self) exitAct.setShortcut('Ctrl+Q') exitAct.setStatusTip('Exit application') exitAct.triggered.connect(QApplication.instance().quit) self.statusBar() menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(exitAct) self.setGeometry(300, 300, 350, 250) self.setWindowTitle('Simple menu') self.show()def main():    app = QApplication(sys.argv)    ex = Example()    sys.exit(app.exec())if __name__ == '__main__':    main()

上门的示例中,创建了有一个菜单的菜单栏。这个菜单命令是终止应用,也绑定了快捷键 Ctrl+Q。示例中也创建了一个状态栏。

exitAct = QAction(QIcon('exit.png'), '&Exit', self)exitAct.setShortcut('Ctrl+Q')exitAct.setStatusTip('Exit application')

QAction 是行为抽象类,包括菜单栏,工具栏,或自定义键盘快捷方式。在上面的三行中,创建了一个带有特定图标和 'Exit' 标签的行为。此外,还为该行为定义了一个快捷方式。第三行创建一个状态提示,当我们将鼠标指针悬停在菜单项上时,状态栏中就会显示这个提示。

exitAct.triggered.connect(QApplication.instance().quit)

当选择指定的行为时,触发了一个信号,这个信号连接了 QApplication 组件的退出操作,这会终止这个应用程序。

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

menuBar 方法创建了一个菜单栏,然后使用 addMenu 创建一个文件菜单,使用 addAction 创建一个行为。