首页 > 解决方案 > QVBoxLayout 大小相同但小部件不同

问题描述

我的应用程序中有一个 QVBoxLayout,它将显示三个按钮

-----
[]
[]
[]
-----

一切都很清楚。但现在我需要添加仅包含 2 个按钮的第二个 QVBoxLayout(网格是不可能的)。但我想拥有相同的尺寸。

-----
[]
[]

-----

但是我不可能以按钮在行中的方式带来第二个 QVBoxLayout。

----- -----
[]    []
[]    []
[]
----- -----

知道如何用 2 个 QVBoxLayouts 解决这个问题吗?使用 spaceritem 的试用会在最后一行添加太多空间。

标签: c++qt

解决方案


您应该在第二个布局上添加一个空的 QWidget 或 SpacerItem,然后在两个布局上都使用 setStretch(),而不是 addStretch()。

对于两个布局调用:

    layout->setStretch(0,1);
    layout->setStretch(1,1);
    layout->setStretch(2,1);

推荐阅读