Seite 1 von 1

[gelöst]Löschen eines modalen Dialogs beim Beenden verhinder

Verfasst: 11. November 2007 00:33
von qtNiko
hallo,

ich habe folgende Aufgabenstellung:
- mit einem modalen Dialog sollen mehrere Parameter verändert werden können; der Dialog enthält dazu ein QTableView-Objekt, Paramlist
- der Constructor des Dialogs initialisiert die Parameter in Paramlist
- wenn der Dialog mit OK beendet wird, sollen die veränderten Parameter in eine Datenstruktur übernommen werden
- wenn der Dialog mit Cancel beendet wird, soll Paramlist mit den Werten aus der Datenstruktur gefüllt werden
- beim Beenden des Dialogs darf also das Dialog-Objekt nicht gelöscht werden, damit es beim nächsten Aufruf die aktuellen Werte anzeigt

Wie beende ich also einen modalen Dialog, ohne dass er gleichzeitig gelöscht wird?

qtNiko

Verfasst: 11. November 2007 07:08
von upsala
Warum sollte Qt den Dialog löschen, das machst du doch selbst. Ruf statt den Destruktor mal hide() auf, vielleicht reicht das ja.

Verfasst: 11. November 2007 10:21
von Volker
Normalerweise musst Du damit Qt den Dialog automatisch löscht, entweder ein Parent Objekt übergeben haben, welches gelöscht wurde, oder Du hast das Qt::WA_DeleteOnClose Flag manuell auf true gesetzt. Andernfalls wird der Dialog nicht gelöscht nachdem Du exec() aufgerufen hast.

Für den Fall, dass Du den Dialog auf dem Stack erstellt hast, wird der Dialog logischerweise beim Verlassen des Gültigkeitsbereichts der Dialog variablen gelöscht.