我想创建一个简单的窗口来通知用户错误,并且我想在用户按下“确定”按钮时关闭所有内容,但是当我按下按钮时,已连接的功能未运行并且我不知道出了什么问题在我构建的类似窗口中,它的运行情况非常好。
class ErrorUi(QtWidgets.QWidget):
def __init__(self, error):
super().__init__()
self.error = error
self.functions = ErrorFunctions(self)
self.setupUi(self)
def setupUi(self, ErrorMessage):
ErrorMessage.setObjectName("ErrorMessage")
ErrorMessage.resize(272, 143)
ErrorMessage.setStyleSheet("background-color: rgb(85, 87, 83);")
# ok button
self.ok_button = QtWidgets.QPushButton(ErrorMessage)
self.ok_button.clicked.connect(self.functions.ok_button)
self.ok_button.setGeometry(QtCore.QRect(100, 90, 88, 27))
self.ok_button.setStyleSheet("background-color: rgb(238, 238, 236);")
self.ok_button.setObjectName("ok_button")
# error
self.label = QtWidgets.QLabel(ErrorMessage)
self.label.setGeometry(QtCore.QRect(30, 20, 240, 100))
self.label.setObjectName("label")
self.ok_button.raise_()
self.label.raise_()
self.translate_ui(ErrorMessage)
QtCore.QMetaObject.connectSlotsByName(ErrorMessage)
def translate_ui(self, ErrorMessage):
_translate = QtCore.QCoreApplication.translate
ErrorMessage.setWindowTitle(_translate("ErrorMessage", "Camfort"))
self.ok_button.setText(_translate("ErrorMessage", "Ok"))
self.label.setText(_translate("ErrorMessage", self.error))
def closeEvent(self, a0: QtGui.QCloseEvent) -> None:
self.functions.ok_button()
class ErrorFunctions(object):
def __init__(self, window_handle):
self.window_handle = window_handle
def ok_button(self):
self.window_handle.close()
os._exit(0)
我希望按下按钮后程序会关闭并停止,但它不起作用。