Madmartigan hat geschrieben:
Die Funktion exec_() gibt dir einen Integer Rückgabewert. Diesen kannst du gegen QMessageBox.Yes usw. prüfen.
In meinem Fall meinst du die
msgBox_close.exec_()-Funktion?
Denn ich frage nur, weil ich das versucht habe wie folgt zu lösen - leider ohne Erfolg.
Code: Alles auswählen
def closeEvent(self, event):
msgBox_close = QMessageBox()
msgBox_close.setWindowTitle(self.set_language.dict_msgBox["msgBox_close_title"])
msgBox_close.setIconPixmap(QPixmap(self.get_Path_msgbox_icon))
msgBox_close.setText(self.set_language.dict_msgBox["msgBox_close_text"])
msgBox_close.addButton(QPushButton(self.set_language.dict_msgBox["msgBox_close.yes"]), QMessageBox.YesRole)
msgBox_close.addButton(QPushButton(self.set_language.dict_msgBox["msgBox_close.no"]), QMessageBox.NoRole)
msgBox_close.addButton(QPushButton(self.set_language.dict_msgBox["msgBox_close.cancel"]), QMessageBox.RejectRole)
ret = msgBox_close.exec_()
if ret == QMessageBox.Yes:
event.accept()
app.quit()
else:
event.ignore()
Ich habe versucht über das Objekt
ret an die Funktion
msgBox_close.exec_() zu gelangen, aber die gleiche Reaktion - das Fenster bleibt weiterhin offen.
Edit: Ich habe das ganze anders versucht:
Code: Alles auswählen
def closeEvent(self, event):
msgBox_close = QMessageBox()
msgBox_close.setWindowTitle(self.set_language.dict_msgBox["msgBox_close_title"])
msgBox_close.setIconPixmap(QPixmap(self.get_Path_msgbox_icon))
msgBox_close.setText(self.set_language.dict_msgBox["msgBox_close_text"])
msgBox_close.addButton(QPushButton(self.set_language.dict_msgBox["msgBox_close.yes"]), QMessageBox.YesRole)
msgBox_close.addButton(QPushButton(self.set_language.dict_msgBox["msgBox_close.no"]), QMessageBox.NoRole)
msgBox_close.addButton(QPushButton(self.set_language.dict_msgBox["msgBox_close.cancel"]), QMessageBox.RejectRole)
ret = msgBox_close.exec_()
if ret == 0:
event.accept()
app.quit()
else:
event.ignore()
Ich weiß jetzt allerdings nicht, ob das nun in eurem Sinne gemeint war? Es funktioniert, frage ich lieber nochmal nach: War das so gemeint?