Seite 1 von 1

Qt4: Widget in Widget - size setzen

Verfasst: 5. Oktober 2011 07:34
von nando
Hi,

ich habe ein Problem mit dem Setzen einer Widget-Groesse.
Ich habe ein von QMdiSubWidget abgeleitetes Widget.

Dieses Widget hat als zentrales Widget ein anderes von QWidget abgeleitetes Widget.

Wenn ich nun fuer das QMdiSubWidget resize aufrufe (z.b. 300,100) dann bekommt das zentrale Widget
ein resizeEvent von 292,74 was genau den 300,100 minus den fenster-rahmen des QMdiSubWidget entspricht....

Meine Frage ist nun, wie kann ich mein QMdiSubWidget vergroessern, so dass das innere zentrale Widget 300,100 gross ist?
Dazu muesste ich irgendwie die Rahmengroesse bestimmen koennen....
Habe in der Doku irgendwie nichts finden koennen...

nach dem resize auf dem QMdiSubWidget liefern frameGeometry() und rect() die gleiche groesse? Warum?
Laut Doku soll doch frameGeometry() die Groesse INKLUSIV der Rahmen liefern....?

Gruss,
Nando

Re: Qt4: Widget in Widget - size setzen

Verfasst: 5. Oktober 2011 09:17
von dennisDennis
Hallo,
setze bei dem inneren Widget die Größe, die du haben möchtest. Das MdiSubwindow passt sich dann automatisch an.
Rahmengrößen berechnen ist nicht einfach, da die Rahmen unter Windows XP, Vista und Widows 7 unterschiedlich groß sind.

Gruß
Dennis

Re: Qt4: Widget in Widget - size setzen

Verfasst: 5. Oktober 2011 09:58
von nando
das habe ich versucht, doch leider hat es nicht geklappt....

ich bekomme aber jetzt die richtigen werte fuer frameGeometry() wenn ich VORHER show() aufrufe.....

werde deinen tip aber noch mal verfolgen... Danke!

Re: Qt4: Widget in Widget - size setzen

Verfasst: 5. Oktober 2011 12:03
von dennisDennis
Ich setze folgende Parameter.

minimumHeight = maximumHeight
minimumWidth = maximumWidth

Dann stimmt bei mir die Geometrie.