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

Alles rund um die Programmierung mit Qt
Antworten
qtNiko
Beiträge: 216
Registriert: 6. April 2007 21:26
Wohnort: München

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

Beitrag 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
Zuletzt geändert von qtNiko am 11. November 2007 21:47, insgesamt 1-mal geändert.
Gruß von qtNiko

Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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.
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag 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.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Antworten