そのように配置された4つのQToolBars:
addToolBar(new BarLeft());
addToolBar(new SearchBar());
addToolBar(new BarRight());
addToolBarBreak();
addToolBar(new BottomBar());
左のバーにはいくつかのアイコンがあります。右側にもいくつかのアイコンがあります。中央のバーには、他の 2 つのツールバー間で 100% 拡大したいテキスト フィールドが含まれています。特に指定しない限り、QT は最後のツールバーを空のスペース全体に自動的に広げます。次のことを行うように指示する結果が見つかりましたが、うまくいきませんでした。
SearchBar::SearchBar() {
setMovable(false);
editor = new QLineEdit();
editor->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred);
addWidget(editor);
}
その結果、フィールドは垂直方向に塗りつぶされますが、Qt は固定幅を指定した RightBar の右側には何も表示しません。editor->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Expanding);
ポリシーを に反転したり、enter 関数呼び出しを省略したりしても、結果はまったく同じです。
私がやりたいことを視覚的に見るには、非常によく似たインターフェースを持つGoogle Chromeを見てください。
[ Icon ] [ Icon ] [ ================ Text Field =============== ] [ Icon ] [ Icon ]
Qt のバージョンは 5.2.1 です