QToolBar上的控制元件靠右側對齊的方法

pamxy發表於2013-06-23

轉自:http://blog.csdn.net/blueliuyun/article/details/7005515

     有時候,你會想在QToolBar的右側新增一個button,這時候,會首先想到在QToolBar上新增一個QSpacerItem,來實現button的右側對齊。但是這種方法在QToolBar上並不會達到預期的效果,原因是QSpacerItem不是繼承自QWidget,因此你並不能使用QToolBar::addWidget()來新增一個QSpacerItem。

    在此,用另一種方法的實現了預期的效果。首先,建立一個QWidget,設定其大小策略為擴充套件,然後將其新增到QToolBar的合適位置中。至此即實現了預期的效果。

  1. //2011-11-23-QTooBar中最右一個圖示的靠右對齊方式  
  2.  QWidget *spacer = new QWidget(this);  
  3. spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);  
  4. //toolBar is a pointer to an existing toolbar  
  5. toolBar->addWidget(spacer);  

效果預覽:(注意最右側的圖示的位置) 

 參考資料:

http://www.cuteqt.com/bbs/viewthread.php?tid=1566 (某論壇的一個貼子)

http://blog.cnnbboy.com/?p=493 (翻譯)

http://www.ffuts.org/blog/right-aligning-a-button-in-a-qtoolbar/ (原文)


相關文章