Hallo zusammen,
ich habe ein Problem mit dem Schließen eines QMdiSubWindow über den Close-Button des QMdiSubWindows.
Das Fenster schließt sich natürlich ordungsgemäß, aber leider bekomme ich das im MainWindow nicht mit. Diese ist allerdings notwendig, da das QMdiSubWindow nicht unbedingt geschlossen werden darf. Zudem sind einige Aufräumarbeiten fällig.
Meine Frage:
Wie kann ich das Schließen über den Close-Button (das kleine X im QMdiSubWindow) abfangen und selber im MainWindow darauf reagieren?
Ich hoffe, das meine Frage nicht zu dumm klingt....
Danke für eure Hilfe!
QMdiSubWindow schließen
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: QMdiSubWindow schließen
Wenn das QMdiSubWindow geschlossen werden soll, wird auch QWidget::close() des Widgets, welches Du mittels QMdiSubWindow::setWidget() gesetzt hast, aufgerufen. Wenn Du dort false zurücklieferst wird das Fenster nicht geschlossen.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
- Beiträge: 41
- Registriert: 2. Mai 2012 13:43
Re: QMdiSubWindow schließen
Das ist richtig, hilft mir aber in meinem Fall nicht weiter.
Ich kann das Schließen zulassen oder nicht, soweit, so gut.
Mein Problem jedoch ist, dass das QMainWindow erfahren muss, dass ein QMDISubWindow geschlossen wurde, also NACHDEM es geschlossen wurde. Die Aufräumarbeiten können erst durchgeführt werden, wenn das Fenster weg ist.
Einfaches Beispiel: Ein Button soll disabled werden, wenn es kein aktives QMDISubWindow mehr gibt. Das kann ich in der close()-Methode noch nicht erledigen, da das Fenster da noch existiert.
Bestimmte Ressourcen oder Verhaltensweisen des Programs sind abhängig von der Anzahl der offenen QSubWidgets, sodass QMainWidget immer über die Änderung der Anzahl der QMDISubWindows Bescheid informiert werden muss.
Ergänzung:
auch das Signal subWindowActivated hilft mir nicht, da es vor der Zerstörung des QMDISubWindow gesendet wird.
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: QMdiSubWindow schließen
Und was hindert Dich in dem überschriebenen Slot ein Signal abzusetzen dass im MainWindow verarbeitet wird?
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung