Destruktoraufruf nach Fenster schließen
Verfasst: 19. April 2010 18:21
Hallo,
da ich in C++ (und Qt) noch ein wenig neu bin, habe ich ein Problem mit den Destruktoren.
Theoretisch sollte es ja so laufen:
Hauptprogramm starten ->
Button drücken ->
neuer Dialog erscheint (wird erstellt durch Konstruktor) ->
man macht daran etwas ->
man schließt das Fenster (sei es durch den Button in der Leiste oder durch Ok/Abbrechen im Dialog) ->
Destruktor wird aufgerufen (in meinem Fall ist er (noch) leer ) ->
Objekt wird gelöscht ->
Beim erneuten Aufrufen müsste doch der Dialog wieder neu aufgebaut werden, bei mir bleibt er jedoch mit den Änderungen vorhanden. Ich kann mir nur vorstellen, das ich beim aufrufen etwas "falsch" mache.
Der QDialog fixation
Der dazugehörige Signal/Slot
Da ich geänderte Einstellungen haben kann, sollte im Fixations-Dialog jedesmal neu aus einer Konfigurationsdatei gelesen werden. Da das Objekt aber weiterhin besteht, werden die geänderten Daten nicht ausgelesen.
da ich in C++ (und Qt) noch ein wenig neu bin, habe ich ein Problem mit den Destruktoren.
Theoretisch sollte es ja so laufen:
Hauptprogramm starten ->
Button drücken ->
neuer Dialog erscheint (wird erstellt durch Konstruktor) ->
man macht daran etwas ->
man schließt das Fenster (sei es durch den Button in der Leiste oder durch Ok/Abbrechen im Dialog) ->
Destruktor wird aufgerufen (in meinem Fall ist er (noch) leer ) ->
Objekt wird gelöscht ->
Beim erneuten Aufrufen müsste doch der Dialog wieder neu aufgebaut werden, bei mir bleibt er jedoch mit den Änderungen vorhanden. Ich kann mir nur vorstellen, das ich beim aufrufen etwas "falsch" mache.
Der QDialog fixation
Code: Alles auswählen
// der Fixationstest
fixation = new Fixation;
fixation->setAttribute(Qt::WA_QuitOnClose);
Code: Alles auswählen
connect(startFixation,SIGNAL(clicked()),fixation,SLOT(exec()));