Hallo,
ich hätte eine Frage und zwar wird in der einschlägigen Litertaur immer
folgendes gemacht, wenn ein Programm über einen Button/Menüpunkt verlassen werden soll
Ich sollte aber in meiner Anwendung wenn der Quit-Button gedrückt wird noch ein paar Dinge erledigen. Folglich ersetzte ich quit() durch meine eigene Funktion welche dann aufgerufen wird! Aber was dann????
Wir verlasse ich den nun das Programm.
Hab leider keine Ahnung wie ich das machen muß. Ich habe mal im QTAssistent nach on_close gesucht, da komt nix. Auch google hilft mir nicht wirklich.
Ich könnte es allerdings alternativ auch im Destruktor machen. Die Frage ist nur was ist besser und eleganter. Ich muß noch eine XML-Datei speichern. Das ist im Prinzip alles.
Aufräumen und sonstige Finalisierungsarbeiten - dazu zähle ich auch Dateien speichern - gehört in den Destruktor. Wenn du deinem Programm später mal ein Tray-Icon gönnst, willst du im closeEvent() verhindern, dass das Programm beendet wird, und es nur in den Tray minimieren.
Wenn dann noch immer jedesmal die Datei neu geschrieben wird, gibts vllt. Probleme. Angenommen die Daten werden in nem eigenen Thread berechnet, und gerade läuft so eine und ist noch nicht fertig, dann kommt das closeEvent() samt Datei schreiben. Chaos pur wird entstehen, wenn da 1) der Thread abgebrochen wird (+ evtl. Reset) um die Daten konsistent zu halten oder 2) die Daten nicht passen, da der Thread noch mitten im Rechnen ist.
betrechtigtes Argument. Ich hab jetzt mal das ganze Zeugs in den Destruktur gelegt. Werde aber trotzdem noch etwas mit dem closeEvent rumprobieren. Vielleicht kann ich das mal für was anderes brauchen. Vielen Dank an Euch für die Hilfe