Seite 1 von 1

Layout in einem Widget zentrieren

Verfasst: Samstag 26. Juni 2010, 11:35
von anogayales
Hi Community,

wie kann ich ein Layout in einem Widget genau im Mittelpunkt des Widgets halten, sprich, auch nach einem Resize bleibt das Layout im Mittelpunkt.

Ich habe es bisher nur über zwei verschachtelte vbox bzw. hbox Layouts geschafft. Gibt es da eine schönere Variante?

Grüße,
anogayales

Re: Layout in einem Widget zentrieren

Verfasst: Samstag 26. Juni 2010, 13:08
von lunar
Es fällt mir schwer, mir unter diesem Beitrag etwas vorzustellen. Kannst Du Dein Problem vielleicht einmal anhand eines Beispiels erläutern?

Re: Layout in einem Widget zentrieren

Verfasst: Samstag 26. Juni 2010, 14:13
von anogayales
Hier ein Beispiel:

Groß:
Bild

Klein:
Bild

Das weiße Kästchen ist das Widget und das rote Kästchen ist das innere Layout. Das innere Layout soll immer im Mittelpunkt des weißten Kästchens bleiben. Sprich: Wenn das Widget verkleinert bzw. vergrößert wird soll sich das rote Kästchen automatisch ausrichten.

Grüße,
anogayales

Re: Layout in einem Widget zentrieren

Verfasst: Sonntag 27. Juni 2010, 12:11
von Hyperion
Wie wäre es mit 4 Spacern drum herum? An jede "Kante" des inneren Widgest eben je zwei vertikale nach oben und unten, sowie zwei horizontale nach rechts und links. Damit sollte das klappen.

http://paste.pocoo.org/show/230562/

Re: Layout in einem Widget zentrieren

Verfasst: Montag 28. Juni 2010, 16:52
von anogayales
Wenn man das ganze als Code implementieren müsste, müsste man ja auch ein VBOX und ein HBOX Layout ineinander verschachtel, oder sehe ich das was falsch?

Re: Layout in einem Widget zentrieren

Verfasst: Montag 28. Juni 2010, 19:33
von ichisich
Schaff am besten mit dem Designer, zieh dein ZentrumsWidget drauf, mach recht, links, oben und unten einen Spacer hin, markier alle (schau das die Elemente in etwa gleich groß sind) und weise den ganzen Elementen ein QGridLayout zu, dann dem Widget noch ein Layout und dann sollte es tun. Über die von dir genannte Verschachtelung geht es auch aber auch da brauchst Du Spacer sonst dehnt sich dein ZentrumsWidget bis an den Rand aus.

Geht natürlich auch ohne Designer, mit nem GridLayout ...

Gruß

Re: Layout in einem Widget zentrieren

Verfasst: Montag 28. Juni 2010, 20:02
von Dav1d
Gibt es in Qt keine Flags, wie in wxPython, z.B. wx.CENTER etc.?

Re: Layout in einem Widget zentrieren

Verfasst: Montag 28. Juni 2010, 21:08
von anogayales
Es gibt sowas, leider hab ich noch nicht wirklich rausgefunden, was die bewirken :)

http://doc.qt.nokia.com/4.6/qt.html#AlignmentFlag-enum

Geht anscheinend nur mit Text -.-

Re: Layout in einem Widget zentrieren

Verfasst: Dienstag 29. Juni 2010, 22:24
von Hyperion
anogayales hat geschrieben:Wenn man das ganze als Code implementieren müsste, müsste man ja auch ein VBOX und ein HBOX Layout ineinander verschachtel, oder sehe ich das was falsch?
ichisich hat es ja schon geschrieben! Nein. Musst Du nicht. Öffne doch die Datei im Designer und schau es Dir an - aus diesem Grunde habe ich sie hier gepostet; erschien mir sinniger als ein Screenshot vom Designer.