Ich habe ein Hauptfenster, das einen QDialog erstellt (der Name ist qds), wenn ich eine Taste drücke. Wenn ich das Hauptfenster schließe, möchte ich, dass QDialog ebenfalls geschlossen ist. Aber wenn ich das Hauptfenster schließe, ist QDialog immer noch geöffnet und die Anwendung läuft noch. Dies ist der Destruktor Hauptfenster:Schließen von QDialog aus dem Hauptfenster
MainWindow::~MainWindow(){
if(qds) delete qds; // this is the QDialog
// ...other code
}
qds ist Kinder nicht Hauptfenster. Ich habe versucht, mit setzen
setAttribute(Qt::WA_DeleteOnClose);
in Hauptfenster Konstruktor, aber es erzeugt Segmentierung Faul (Doppel frei).
Haben Sie 'delete qds;' im 'setAttribute (Qt :: WA_DeleteOnClose); 'case gelöscht? – LogicStuff
@LogicStuff yeah, aber es ist das gleiche – CodeBott
Könnten Sie bitte den Code zeigen, wie Sie den Dialog erstellen? – demonplus