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_())
相关推荐
m0_635647481 小时前
pyqt5打包报错:qt.qpa.plugin: Could not load the Qt platform plugin “windows“
开发语言·windows·python·qt·pyqt
深蓝海拓1 天前
PySide6从0开始学习的笔记(十二) QProgressBar(进度条)
笔记·python·qt·学习·pyqt
深蓝海拓1 天前
PySide6从0开始学习的笔记(十六) 定时器QTimer
笔记·python·qt·学习·pyqt
深蓝海拓1 天前
PySide6从0开始学习的笔记(十五) 线程管理
笔记·python·qt·学习·pyqt
Edward.W2 天前
PyQt6 打造苹果风格 ADB 图形化工具:adbUI 深度测评与实战指南
python·adb·pyqt
深蓝海拓3 天前
PySide6从0开始学习的笔记(十四)创建一个简单的实用UI项目
开发语言·笔记·python·qt·学习·ui·pyqt
深蓝海拓4 天前
PySide6从0开始学习的笔记(十) 样式表(QSS)
笔记·python·qt·学习·pyqt
深蓝海拓4 天前
PySide6从0开始学习的笔记(十三) IDE的选择
笔记·python·qt·学习·pyqt
感谢地心引力4 天前
【AI】加入AI绘图的视频封面快速编辑器
人工智能·python·ai·ffmpeg·音视频·pyqt·gemini
叶子丶苏5 天前
第十九节_PySide6基本窗口控件深度补充_剪贴板与拖曳功能(Drag 与 Drop) 下篇
python·pyqt