2012-10-04 10 views
13

Quiero que algunas de las acciones de la barra de herramientas aparezcan enlazadas a la izquierda y algunas a la derecha. I Gtk Recuerdo haber agregado un separador extensible. ¿Cómo logro eso en Qt?¿Cómo agregar un espaciador estirable en Qtoolbar?

Uso Qt Creator pero no tengo miedo de editar el código fuente, por lo tanto, cualquier solución es muy apreciada.

Respuesta

27

Puede utilizar un widget de vacío con expansión automática, funciona como los espaciadores se pueden utilizar en Qt Designer:

tb = my_toolbar; 

QWidget* empty = new QWidget(); 
empty->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); 
tb->addWidget(empty); 

tb->addWidget(otherWidget); 
+2

lo usé justo después ui-> setupUi con insertWidget() en lugar de addWidget() para colocar el espacio donde quiero que esté. – steffen

+2

Tenga en cuenta que esto solo funciona para las barras de herramientas que están adjuntas en la parte superior o inferior de su ventana. Para las barras de herramientas que se pueden unir a la izquierda o a la derecha, también debe establecer la política de tamaño vertical en Expanding: 'empty-> setSizePolicy (QSizePolicy :: Expanding, QSizePolicy :: Expanding);' – Exa

Cuestiones relacionadas