Hiho!
Leider habe ich seit Längerem ein Problem mit dem Resize-Verhalten von Hauptfenstern bei der Benutzung von 'QDockWidget::setVisible(bool)':
Nehmen wir an, ich habe ein QMainWindow mit den Abmaßen von 640x480. Auf der rechten Seite dieses Fensters habe ich über den Designer ein QDockWindow angebracht, welches eine preferierte Breite von 200 hat, aber initial unsichtbar ist. Im Hauptfenster befindet sich weiterhin eine QCheckBox, welche dieses QDockWindow (un)sichtbar schalten kann.
Schalte ich nun im Laufe der Applikation das QDockWidget sichtbar, vergrößert sich das Hauptfenster automatisch auf 840x480 Pixel. Schalte ich jedoch das QDockWidget danach wieder unsichtbar, bleibt die Größe des Hauptfensters konstant, so dass sich der Rest des Fenster nun auf die volle Breite zieht. Das Fenster soll in diesem Fall stattdessen aber wieder auf die vorherige Größe zurückschrumpfen.
Nun meine Frage: Gibt es dazu irgendeinen annehmbaren Workaround? Meine bisherigen Bemühungen waren leider bisher wenig fruchtbar.
Ich würde mich freuen, wenn mir hier jemand weiterhelfen könnte...
QMainWindow mit QDockWidget: Resize-Verhalten
Ganz so einfach ist es leider nicht. Ich nehme an, Du beziehst Dich auf die Methoden 'QWidget::setGeometry()' bzw. ''QWidget::setSize'?
Was ich bisher versucht habe, ist mich an das Signal 'QDockWindow::visibilityChanged(bool)' zu hängen, um über obige Methoden das Fenster zu verkleinern - Fehlanzeige. Die einzige Methode, welche an dieser Stelle Erfolg hatte, war 'QWidget::setFixedWidth()', aber danach lässt sich die Größe des Fenster natürlich überhaupt nicht mehr skalieren.
Das Problem ist leider also immer noch offen
[/quote]
Was ich bisher versucht habe, ist mich an das Signal 'QDockWindow::visibilityChanged(bool)' zu hängen, um über obige Methoden das Fenster zu verkleinern - Fehlanzeige. Die einzige Methode, welche an dieser Stelle Erfolg hatte, war 'QWidget::setFixedWidth()', aber danach lässt sich die Größe des Fenster natürlich überhaupt nicht mehr skalieren.
Das Problem ist leider also immer noch offen
[/quote]