Qt:如何将窗口大小调整为新内容

时间:2010-08-31 18:00:11

标签: qt

我有一个包含QScrollArea的窗口,里面有几个小部件。

到目前为止,我在窗口的构造函数中创建了QScrollArea及其子窗口小部件,然后我使用resize(400, sizeHint().height())垂直调整窗口大小以适应其内容。到目前为止,非常好。

现在,我正在运行时在QScrollArea中添加或删除小部件。添加或删除小部件后,如何使窗口垂直适合其内容,我该怎么办?我应该致电adjustSize()吗? resize(sizeHint())?是否应先致电layout->activate()updateGeometry()?在这种情况下,哪种规模的政策真正重要窗口,或滚动区域,或两者?我尝试将它们全部设置为Expanding

我在Windows上使用Qt 4.6。

1 个答案:

答案 0 :(得分:10)

似乎在小部件被添加到滚动区域之后调用resize(sizeHint())(没有任何其他魔法)实际上可以解决问题。不知何故第一次错过了。