永远不会调用PyQt的QMainWindow closeEvent

永远不会调用PyQt的QMainWindow closeEvent,第1张

永远不会调用PyQt的QMainWindow closeEvent

closeEvent
是一个方法
QMainwindow
,但你想从你自己使用它
Ui_MainWindow
的类。尝试以下方法:

from PyQt4 import QtCore, QtGuiclass MainWindow(QtGui.QMainWindow):    def __init__(self, *args, **kwargs):        super(MainWindow, self).__init__(*args, **kwargs)        self.setupUi()    def setupUi(self):        self.setObjectName("MainWindow")        self.resize(277, 244)        self.statusbar = QtGui.QStatusBar()        self.statusbar.setObjectName("statusbar")        self.setStatusBar(self.statusbar)    def closeEvent(self,event):        result = QtGui.QMessageBox.question(self,"Confirm Exit...","Are you sure you want to exit ?",QtGui.QMessageBox.Yes| QtGui.QMessageBox.No)        event.ignore()        if result == QtGui.QMessageBox.Yes: event.accept()if __name__ == "__main__":    import sys    app = QtGui.QApplication(sys.argv)    mainWindow = MainWindow()    mainWindow.show()    sys.exit(app.exec_())

如果要保留尽可能多的结构,请尝试以下 *** 作:

from PyQt4 import QtCore, QtGuiclass Ui_MainWindow(object):    def setupUi(self, MainWindow):        MainWindow.setObjectName("MainWindow")        MainWindow.resize(277, 244)        self.centralwidget = QtGui.QWidget(MainWindow)        self.centralwidget.setObjectName("centralwidget")        MainWindow.setCentralWidget(self.centralwidget)        self.statusbar = QtGui.QStatusBar(MainWindow)        self.statusbar.setObjectName("statusbar")        MainWindow.setStatusBar(self.statusbar)        QtCore.QmetaObject.connectSlotsByName(MainWindow)        MainWindow.show()class MyWindow(QtGui.QMainWindow):    def closeEvent(self,event):        result = QtGui.QMessageBox.question(self,"Confirm Exit...","Are you sure you want to exit ?",QtGui.QMessageBox.Yes| QtGui.QMessageBox.No)        event.ignore()        if result == QtGui.QMessageBox.Yes: event.accept()if __name__ == "__main__":    import sys    app = QtGui.QApplication(sys.argv)    MainWindow = MyWindow()    ui = Ui_MainWindow()    ui.setupUi(MainWindow)    sys.exit(app.exec_())


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5664349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存