Optimale QMainWindow Size nach ausdocken eines Dockwidgets ?

Alles rund um die Programmierung mit Qt
Antworten
diju
Beiträge: 8
Registriert: 28. Juni 2007 16:44

Optimale QMainWindow Size nach ausdocken eines Dockwidgets ?

Beitrag von diju »

Hallo!

Habe ein Problem beim ausdocken von QDockWidgets aus dem QMainWindow. Der Inhalt des MainWindow dehnt sich seltsamerweise auf die Größe vor dem Ausdocken. Dachte eigentlich es würde einfach um den Bereich des DockWidget verkleinert.

Nun habe ich schon das Signal topLevelChanged(bool) des DockWidget abgefangen und damit ein repaint() des MainWindow erzwungen... leider ohne Erfolgt.Genauer das Signal wird korrekt geworfen aber der repaint() aufruf hat keine Auswirkung. MW bleibt sturr zu groß :evil: . Manuell kann man es kleiner ziehen.

Neben repaint() habe ich auch
resize()
adjustSize()
ausprobiert... kein Erfolg

Wo muss ich ansetzen?
OregonGhost
Beiträge: 19
Registriert: 30. Juli 2007 10:37
Wohnort: Lübeck
Kontaktdaten:

Re: Optimale QMainWindow Size nach ausdocken eines Dockwidge

Beitrag von OregonGhost »

diju hat geschrieben:Der Inhalt des MainWindow dehnt sich seltsamerweise auf die Größe vor dem Ausdocken. Dachte eigentlich es würde einfach um den Bereich des DockWidget verkleinert.
Ist das nicht das normale Verhalten? Ich würde schon komisch gucken, wenn mein Fenster kleiner werden würde, bloß weil ich ein Andockfenster abdocke. Zumindest unter Windows ändert sich die Größe eines Hauptfensters in so einem Fall normalerweise nicht. Gibt es einen besonderen Grund, dass du das so haben willst?
diju
Beiträge: 8
Registriert: 28. Juni 2007 16:44

Beitrag von diju »

Hmm habe ich so noch nicht drüber nachgedacht.
In meinem Fall befinden sich PlotWidget in diesen DockWidgets. Diese sind relativ breit und sollen ausdockbar sein, um bei Bildschirmen mit geringen Auflösungen noch komplett sichbar zu machen sein.
Ist eine recht spezielle Anwendung, ich weiß, aber es wäre schon schön wenn das irgendwie möglich wäre, dass dann das Hauptfenster auf optimales minimum schrumpft.
OregonGhost
Beiträge: 19
Registriert: 30. Juli 2007 10:37
Wohnort: Lübeck
Kontaktdaten:

Beitrag von OregonGhost »

Hilft da vielleicht eine QSizePolicy::Minimum? Wobei automatisches Hauptfenster-Resizen immer so eine Sache ist. Ist es keine Option, es einfach dem Benutzer zu überlassen?
diju
Beiträge: 8
Registriert: 28. Juni 2007 16:44

Beitrag von diju »

Dem Benutzer bietet sich ein relativ unschönes Bild wenn die Oberfläche mit eingedockten Plots nicht auf den Bildschirm passt, dann wird es für ihn auch umständlich das Fenster am rechten Rand packen zu können. Also recht benutzerunfreundlich.. das stört mich ein wenig.
Ich werd es mal mit der Qt::SizePolicy probieren.
Danke schomal
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Aber ganau dafuer gibt es unterschiedliche "Fenster"-Strategien ....

Beim klassischenund Single document Interface isses halt so, das die Arbeitsflaeche sich an die ausseren gegebenheiten anpassen muss ....

die einige wahre option waere da nen Zoom bei bedarf ....

Bei MDI isses aehnlich ... deine clientwindows werden nie groeser sein als die Arbeitsflaeche die zur verfuegung hasst ....

wenn sich das Mainfenster vergroessert wuerd ich als noch unschoener empfinden ....

Wenn dein fenster eh schon maximiert ist, bei 800x600 desktops oder so, was soll dann passieren ?

Wenn du nicht willst, das waer die groesse deines Fenster aendert, muesste es Quasi hauptfenster werden, dann bietet sich der style an, den die QT Multiple Top level windows nennt .... dann brauchst auch die dockbars nimmer eindocken, sondern kannst die eh nur "unkontrolliert" aufn desktop anordnen ....

Ciao ...
Antworten