2012-10-04 5 views
13

Desidero che alcune delle mie azioni sulla barra degli strumenti compaiano a sinistra e alcune a destra. I Gtk Ricordo di aver aggiunto un separatore estensibile (espandibile). Come posso ottenerlo in Qt?Come aggiungere uno spaziatore estensibile in Qtoolbar?

Io uso Qt Creator ma non ho paura di modificare la fonte, quindi entrambe le soluzioni sono molto apprezzate.

risposta

27

È possibile utilizzare un widget vuoto con espansione automatica, funziona come i distanziatori è possibile utilizzare in Qt Designer:

tb = my_toolbar; 

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

tb->addWidget(otherWidget); 
+2

ho usato subito dopo UI-> setupUi con insertWidget() invece di addWidget() per posizionare lo spazio dove voglio che sia. – steffen

+2

Si noti che questo funziona solo per le barre degli strumenti che sono attaccate nella parte superiore o inferiore della finestra. Per le barre degli strumenti che sono attaccabili a sinistra o destra è inoltre necessario impostare la politica di dimensione verticale su Espansione: 'vuoto-> setSizePolicy (QSizePolicy :: Expanding, QSizePolicy :: Expanding);' – Exa