Seite 1 von 1

QToolBar Buttons zentrieren

Verfasst: 27. April 2007 09:36
von C_R
Hallo,

hat jemand einen Tip, wie man die Buttons in der ToolBar mittig oder rechts ausrichten kann? Den Abstand der Buttons voneinander zu verändern wäre auch sehr nützlich.

Würde mich freuen, wenn ihr mir da weiterhelfen könnt.

Verfasst: 27. April 2007 11:08
von andy72
Mit void QWidget::setContentsMargins ( int left, int top, int right, int bottom ) solltest Du den Abstand der/des QToolButton verändern können, fürs zentrieren wird wohl nur ein QWidget::move(int x, int y) bleiben, denke ich.

Verfasst: 27. April 2007 13:37
von C_R
naja dann gibts wieder Probleme mit dem Resizen des Fensters, wenn man das mit den Margins macht. Müsste man jedes mal wieder neu setzen. Ich glaube, wenns da keine andere Möglichkeit gibt, werde ich es ersteinmal so lassen. Danke, trotzdem, für deinen Rat.

Verfasst: 27. April 2007 15:43
von macman
Man gut das es ihn Qt einen LayoutManager gibt, nich wahr. Sei froh das Du nicht mit VB oder MFC programmieren musst :-)

Verfasst: 27. April 2007 16:15
von C_R
Layouts kennt keine QActions oder? Also kann mit dem Vorschlag mit den LayoutManagern nix anfangen. Müsst ich alles neu schreiben, wenn ich das richtig sehe..

und das isses mir einfach nicht wert :)

Verfasst: 27. April 2007 19:42
von andy72
Mir kommt zum zentrieren gerade noch eine andere Idee: Links und rechts des ToolButtons zwei dummy-widgets, die du mit der QSizePolicy im Layout aufs maximum stellst *hab das aber nicht getestet*

Verfasst: 27. April 2007 19:52
von upsala
Ich würde es ganz sein lassen. Es hat schon seinen Grund warum die Actions links ausgerichtet sind.

Verfasst: 29. April 2007 08:43
von macman
C_R hat geschrieben:Layouts kennt keine QActions oder? Also kann mit dem Vorschlag mit den LayoutManagern nix anfangen. Müsst ich alles neu schreiben, wenn ich das richtig sehe..
Das war nicht gemeint. Ich wollte nur darauf hinweisen, das man wo anders keine Layoutmanager hat und dann im ResizeEvent für jedes Objekt die Position neu berechnen und setzen muss. Da ist das bißchen was Dir bevor stand, doch wohl ein Witz.

Aber Upsala hat schon Recht. Es hat schon seinen Grund das die QAction links sitzen. Als Notbehelf könntest Du auch jede Action in eine eigene Toolbar packen, dann kann sie sich der User selbst anordnen :-)