QWidget * spacer = new QWidget( this );
spacer -> setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
toolBar -> addWidget(spacer);
这种情况下可以使用QLayout和QSpacerItem即可完成,如下:
QWidget * searchWidget = new QWidget( this );
mToolbar -> addWidget(searchWidget);
QHBoxLayout * searchLayout = new QHBoxLayout(searchWidget);
QSpacerItem * spacer = new QSpacerItem( 40 , 20 ,QSizePolicy::Expanding,QSizePolicy::Minimum);
searchLayout -> addItem(spacer);
mSearchButtonWidget = new QPushButton(tr( " 搜索 " ),searchWidget);
mSearchEditWidget = new QLineEdit(searchWidget);
mSearchEditWidget -> setMaximumWidth( 120 );
searchLayout -> addWidget(mSearchEditWidget);
searchLayout -> addWidget(mSearchButtonWidget);
原因是QToolBar本身就是一个QWidget
转载:http://www.tuicool.com/articles/AZVNNfz