pyqt5 MainWidget 重写 关闭窗口 事件

pyqt5 MainWidget 重写 关闭窗口 事件

代码如下:

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtPrintSupport import *

import os
import sys

import sys
from PyQt5.QtWidgets import QMainWindow , QApplication, QMessageBox
from PyQt5.QtGui import QIcon


class MainWidget(QMainWindow):

    def __init__(self,parent=None):
        super(MainWidget,self).__init__(parent)
        # 设置主窗体标签
        self.setWindowTitle("QMainWindow 例子")
        self.resize(400, 200)

    def closeEvent(self, event):
        """
        重写closeEvent方法,实现dialog窗体关闭时执行一些代码
        :param event: close()触发的事件
        :return: None
        """
        reply = QMessageBox.question(self,
                                               '本程序',
                                               "是否要退出程序?",
                                               QMessageBox.Yes | QMessageBox.No,
                                               QMessageBox.No)
        if reply == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()



if __name__ == "__main__":
    app = QApplication(sys.argv)
    app.setWindowIcon(QIcon("./images/cartoon1.ico"))
    main = MainWidget()
    main.show()
    sys.exit(app.exec_())

运行效果:

在这里插入图片描述

发布了824 篇原创文章 · 获赞 313 · 访问量 105万+

猜你喜欢

转载自blog.csdn.net/wowocpp/article/details/105337835