一種最簡(jiǎn)單的方法如下:
QWidget *spacer = new QWidget(this);
spacer->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
toolBar->addWidget(spacer);
但是這種方式只能右對(duì)齊簡(jiǎn)單控件
對(duì)于自定義的復(fù)雜控件就無(wú)能為力了,比如增加一個(gè)編輯框和一個(gè)搜索按鈕
因此一個(gè)最可行的方式如下:
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