2

そのように配置された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 です

4

1 に答える 1