收缩父窗口而不是让其他窗口小部件增长

时间:2011-01-11 09:23:16

标签: qt user-interface layout qt4

我有一个窗口,它只包含一个组合框,其中包含QVBoxLayout中的多个组框(这些组的内容也没有固定的大小)。那些内部组框是可检查的,取消选中它们会折叠它们(折叠组框的缩小(最大)高度为30px,isFlat == true)。

我想要达到的目标是: 折叠其中一个内部组框时,外部组框和窗口应相应缩小(目前其他未折叠的组框会增大)。但是用户仍然可以调整窗口大小,这会导致组框相应增长:

alt text 我正在玩QWidget::setSizePolicyQLayout::setSizeConstraint不同的布局/小部件,但还没有达到令人满意的结果..
什么是实现这一目标的最佳方式?这可以在不实现自己的大小提示函数的情况下完成吗?

1 个答案:

答案 0 :(得分:2)

我通过调用

制作了一个似乎具有所需行为的玩具箱
adjustSize();
调整内部QGroupBoxes后,在父QGroupBox上

。我把它作为一个插槽,所以我可以将它连接到相同的信号,以便方便地调整内部组框的大小。