转自:http://blog.csdn.net/blueliuyun/article/details/7005515
有时候,你会想在QToolBar的右侧添加一个button,这时候,会首先想到在QToolBar上添加一个QSpacerItem,来实现button的右侧对齐。但是这种方法在QToolBar上并不会达到预期的效果,原因是QSpacerItem不是继承自QWidget,因此你并不能使用QToolBar::addWidget()来添加一个QSpacerItem。
在此,用另一种方法的实现了预期的效果。首先,建立一个QWidget,设置其大小策略为扩展,然后将其添加到QToolBar的合适位置中。至此即实现了预期的效果。
- //2011-11-23-QTooBar中最右一个图标的靠右对齐方式
- QWidget *spacer = new QWidget(this);
- spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- //toolBar is a pointer to an existing toolbar
- 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/ (原文)