gpt4 book ai didi

python - PyQt5 - 如何将关闭键(红色 x)连接到函数

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:59 24 4
gpt4 key购买 nike

我正在尝试将关闭键(红色 x) 连接到一个函数(消息框)。到目前为止我尝试过的方法没有用;单击关闭键(红色 x) 时,我的代码将卡住。没有错误信息。

这是我的代码:

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QMessageBox
class Ui_MainWindow(QMainWindow):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.setWindowModality(QtCore.Qt.NonModal)
MainWindow.resize(987, 746)
MainWindow.setMinimumSize(567, 456)
MainWindow.setMaximumSize(987, 746)
font = QtGui.QFont()
font.setPointSize(9)
MainWindow.setFont(font)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", ""))

def Exit(self):
reply = QMessageBox.question(self, 'Quit', 'Are You Sure to Quit?', QMessageBox.No| QMessageBox.Yes)

if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
app.aboutToQuit.connect(Ui_MainWindow.Exit)
MainWindow = QtWidgets.QMainWindow()
MainWindow.show()
Ui = Ui_MainWindow()
Ui.setupUi(MainWindow)
sys.exit(app.exec_())

谢谢。

最佳答案

我不明白你为什么要创建一个 Ui_MainWindow 类,但这是一个我将如何做你想做的事情的例子:

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMainWindow, QMessageBox


class MainWindow(QMainWindow):

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

def setupUI(self):
self.setObjectName("MainWindow")
self.setWindowModality(QtCore.Qt.NonModal)
self.resize(987, 746)
self.setMinimumSize(567, 456)
self.setMaximumSize(987, 746)
font = QtGui.QFont()
font.setPointSize(9)
self.setFont(font)


def closeEvent(self, event):
reply = QMessageBox.question(self, 'Quit', 'Are You Sure to Quit?', QMessageBox.No | QMessageBox.Yes)
if reply == QMessageBox.Yes:
event.accept()
else:
event.ignore()


if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
mw = MainWindow()
mw.show()
sys.exit(app.exec_())

关于python - PyQt5 - 如何将关闭键(红色 x)连接到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46659910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com