QSplitter:如何使第二列变小?

14

在QtCreator中,我创建了一个QSplitter,将一个QTreeWidget与右侧有许多内容的垂直布局分隔开。

我希望这个第二列默认只占用最小空间,以最大化第一列。

我尝试设置分割器的大小和垂直策略为“扩展”,但肯定做错了。我应该如何准确设置?

1个回答

19

您可以通过代码设置此选项,使用QSplitter::setStretchFactor(int index, int stretch)函数。

您需要将第一列的拉伸系数设置为1,第二列设置为0。

splitter->setStretchFactor(0, 1);
splitter->setStretchFactor(1, 0);

3
在QtDesigner中是否有设置这样的属性的可能性?编辑过小列中的内容非常烦人... - leemes
@leemes 抱歉,我不使用QtDesigner,无法提供帮助。 - Silas Parker
1和0可以正常工作,但是其他值(例如2、3表示2:3的比率)却不能正常工作。有任何想法为什么会这样? - IceFire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接