pyqt QMainWindow菜单栏

pyqt QMainWindow菜单栏

  • [pyqt QMainWindow菜单栏](#pyqt QMainWindow菜单栏)
  • 效果
  • 代码

pyqt QMainWindow菜单栏

QMainWindow 是 PyQt中的一个核心类,它提供了一个主应用程序窗口,通常包含菜单栏、工具栏、状态栏、中心窗口(通常是一个 QWidget 或其子类)等。

效果

代码

python 复制代码
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, qApp, QMenu, QMessageBox


class Example(QMainWindow):

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

        self.initUI()

    def initUI(self):
        # 创建一个菜单栏
        menubar = self.menuBar()

        # 创建一个文件菜单
        fileMenu = menubar.addMenu('File')

        # 创建一个退出动作
        exitAction = QAction('Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(self.on_exit)

        # 将退出动作添加到文件菜单
        fileMenu.addAction(exitAction)

        # 设置窗口的标题和大小
        self.setWindowTitle('QMainWindow Menu Example')
        self.setGeometry(300, 300, 300, 200)

        # 显示窗口
        self.show()

    def on_exit(self):
        # 弹出一个确认对话框
        reply = QMessageBox.question(self, 'Message',
                                     "Are you sure to quit?", QMessageBox.Yes |
                                     QMessageBox.No, QMessageBox.No)

        if reply == QMessageBox.Yes:
            qApp.quit()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
相关推荐
Humbunklung2 天前
PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
笔记·python·学习·pyqt
En^_^Joy3 天前
PyQt常用控件的使用:QFileDialog、QMessageBox、QTreeWidget、QRadioButton等
开发语言·python·pyqt
zhlei_123454 天前
封闭内网安装配置VSCode Anconda3 并配置 PyQt5开发
ide·vscode·pyqt
猫头虎5 天前
零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南
vscode·python·pycharm·beautifulsoup·numpy·pyqt·pip
江畔柳前堤13 天前
PyQt学习系列08-插件系统与模块化开发
运维·开发语言·数据库·python·学习·机器学习·pyqt
江畔柳前堤16 天前
PyQt学习系列05-图形渲染与OpenGL集成
开发语言·javascript·人工智能·python·学习·ecmascript·pyqt
江畔柳前堤16 天前
PyQt学习系列11-综合项目:多语言文件管理器
开发语言·网络·python·学习·django·pyqt
幽络源小助理16 天前
基于Yolov8+PyQT的老人摔倒识别系统源码
yolo·pyqt
江畔柳前堤17 天前
PyQt学习系列07-数据库操作与ORM集成
数据库·学习·算法·机器学习·架构·pyqt
江畔柳前堤17 天前
PyQt学习系列10-性能优化与调试技巧
开发语言·javascript·数据库·学习·性能优化·ecmascript·pyqt