gpt4 book ai didi

C++ 在工具栏中心拉伸(stretch) QLineEdit

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:24:05 24 4
gpt4 key购买 nike

我放置了四个 QToolBars:

addToolBar(new BarLeft());
addToolBar(new SearchBar());
addToolBar(new BarRight());
addToolBarBreak();
addToolBar(new BottomBar());

左侧栏上有几个图标。右边的也有几个图标。中心栏包含一个文本字段,我想在其他两个工具栏之间拉伸(stretch) 100%。 QT 会自动将最后一个工具栏拉伸(stretch)到空白区域,除非您另有说明。我发现结果告诉我执行以下操作,但没有奏效。

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

editor = new QLineEdit();
editor->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred);
addWidget(editor);
}

结果是该字段垂直填充,但 Qt 在 RightBar 的右侧不显示任何内容,我已为其指定了固定宽度。如果我将策略翻转为 editor->setSizePolicy(QSizePolicy::Preferred,QSizePolicy::Expanding);,或者如果我省略输入函数调用,结果是完全一样的。

为了直观地了解我想做什么,只需看一下 google chrome,它的界面非常相似:

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

我的Qt版本是5.2.1

最佳答案

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

editor = new QLineEdit();
QSizePolicy sp = editor->sizePolicy();
sp.setHorizontalStretch(1);
editor->setSizePolicy(sp);
addWidget(editor);

关于C++ 在工具栏中心拉伸(stretch) QLineEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21807408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com