原文参考:Right aligning a button in a QToolBar
译文:http://blog.cnnbboy.com/?p=493
在Qt开发中经常遇到这样的情况,想把一个按钮布局在QToolBar的右侧。通常人会想到使用QSpacerItem加入在toolbar上,但是这不起作用,因为QSpacerItem并不是从QWidget继承过来的,所以并不能使用addWidget()。当然,作为替代方案,可以使用一个基本的 QWidget,将他的大小策略设置为自动扩展的,代码如下:
1 | QWidget* spacer = new QWidget(); |
2 | spacer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); |
3 | // toolBar is a pointer to an existing toolbar |
4 | toolBar->addWidget(spacer); |
5 | toolBar->addAction( "Right-aligned button" ); |