Code: Select all
#include "mywindow.h"
#include
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
MyWindow w();
w.show();
return a.exec(); }
Als ich mich im Internet umsah und zahlreiche Fragen stellte, hatte ich den Eindruck, dass das Schließen der Anwendung das closeEvent für alle Fenster der obersten Ebene aufrufen sollte. Ist das nicht der Fall oder läuft hier etwas schief?
Bearbeiten: Gibt es zusätzlich zu den oben genannten Möglichkeiten, die Anwendung zu schließen? Gibt es andere Instanzen, die ich im Allgemeinen behandeln sollte und die zu QApplication::quit führen würden, anstatt das Ereignis „close“ des Fensters aufzurufen? Was ist zum Beispiel mit einem Herunterfahren des Systems?
Beim Behandeln eines Schließereignisses bestätige ich, dass der Benutzer wirklich beenden möchte, und stelle sicher, dass die Bereinigung erfolgt Das Zurückschreiben geänderter Einstellungen findet statt. Sollte ich vielleicht stattdessen die Bereinigungs-/Speichereinstellungen in den Destruktor verschieben und die Bestätigungsabfrage in closeEvent durchführen?