C++ C++;在工具栏的中心拉伸QLineEdit

C++ C++;在工具栏的中心拉伸QLineEdit,c++,qt,qtoolbar,C++,Qt,Qtoolbar,I四个QToolbar,按如下方式放置: addToolBar(new BarLeft()); addToolBar(new SearchBar()); addToolBar(new BarRight()); addToolBarBreak(); addToolBar(new BottomBar()); 左栏上有几个图标。右边的那个也有一些图标。中心栏包含一个文本字段,我希望在其他两个工具栏之间100%拉伸该字段。除非您另有说明,否则QT将自动在空白处拉伸最后一个工具栏。我发现结果告诉我要做以

I四个QToolbar,按如下方式放置:

addToolBar(new BarLeft());
addToolBar(new SearchBar());
addToolBar(new BarRight());
addToolBarBreak();
addToolBar(new BottomBar());
左栏上有几个图标。右边的那个也有一些图标。中心栏包含一个文本字段,我希望在其他两个工具栏之间100%拉伸该字段。除非您另有说明,否则QT将自动在空白处拉伸最后一个工具栏。我发现结果告诉我要做以下事情,但它没有起作用

SearchBar::SearchBar() {
    setMovable(false);

    editor = new QLineEdit();
    editor->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred);
    addWidget(editor);
}
结果是字段垂直填充,但Qt在右栏右侧不显示任何内容,我给了它一个固定的宽度。如果我将策略翻转为
editor->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Expanding),则结果完全相同,或者如果我命令了enter函数调用

要从视觉上了解我想做什么,只需看看google chrome,它有一个非常相似的界面:

[ Icon ] [ Icon ] [ ================ Text Field =============== ] [ Icon ] [ Icon ]

我的Qt版本是5.2.1

要使同一布局中的一个小部件比其他小部件更大,您需要


你真的需要使用工具栏吗?对于普通的布局和小部件,这会更容易。我最终使用一个带有边框布局的工具栏来对齐所有内容,因为我将工具栏设置为不可移动。谢谢你的建议。
editor = new QLineEdit();
QSizePolicy sp = editor->sizePolicy();
sp.setHorizontalStretch(1);
editor->setSizePolicy(sp);
addWidget(editor);