Qt4: Widget in Widget - size setzen

Alles rund um die Programmierung mit Qt
Antworten
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Qt4: Widget in Widget - size setzen

Beitrag 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
dennisDennis
Beiträge: 17
Registriert: 23. September 2011 16:21

Re: Qt4: Widget in Widget - size setzen

Beitrag 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
nando
Beiträge: 321
Registriert: 28. Oktober 2004 13:16

Re: Qt4: Widget in Widget - size setzen

Beitrag 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!
dennisDennis
Beiträge: 17
Registriert: 23. September 2011 16:21

Re: Qt4: Widget in Widget - size setzen

Beitrag von dennisDennis »

Ich setze folgende Parameter.

minimumHeight = maximumHeight
minimumWidth = maximumWidth

Dann stimmt bei mir die Geometrie.
Antworten