1

在这个应用程序中,会生成一个 HBoxLayouts 列表并将其放入 VBoxLayout 中,以形成一个动态填充的命令列表。每个子列表上方都有一个按钮,可以隐藏其下方的控件。问题:当隐藏子列表时,包含最广泛 VBoxLayout 的小部件的大小不会改变!然后 VBoxLayout 会拉伸以进行补偿。我希望容器小部件在包含较少项目时缩小!它看起来像这样:

问题是,当我在其中一个 PushButtons 下隐藏一个列表时,包含的小部件不会缩小!当可见项目较少时,VBoxLayout 只会扩展:(

这是我如何看待我的小 GUI 的图片。

以下是更广泛的布局设置中的一些代码:

scrollArea = new QScrollArea(this);
scrollAreaLayoutWidget = new QWidget(scrollArea);
scrollAreaLayout = new QVBoxLayout(scrollAreaLayoutWidget);
//scrollAreaLayout is filled with all the stuff you see inside the scroll area...
scrollArea->setWidget(scrollAreaLayoutWidget);

我尝试以多种方式更改容器小部件(蓝色框)的 QSizePolicy。我发现了几十个调整大小的问题,但不知何故我没有找到答案。是否有我缺少的神奇自动调整大小设置?让我知道这是否非常模糊或不完整。欢迎任何评论!

4

1 回答 1

0

事实证明,我所要做的就是创建一个自定义 SLOT,以便在单击隐藏部分 Ui 的按钮时创建一个自定义 SLOT,并在该函数中隐藏相关的小部件。在同一个函数中,我调用[containerWidget]->adjustSize();了它,它完全符合我的要求。

于 2012-08-03T16:49:09.710 回答