【发布时间】:2019-09-27 18:44:25
【问题描述】:
我正在尝试排列来自两个不同 QGridLayouts 的小部件。想法如下:我在滚动框架的 QGridLayout 中有很多行小部件。每行可能包含 8 列其他小部件(因此是 8xN 小部件的网格,N = 行数)。该行中的第一个小部件是一个显示/隐藏按钮,选中该按钮后,将在该行下方显示另一个具有相同布局的小部件(即,显示的小部件具有多行小部件,每行有 7 列小部件)。因此,显示的小部件最初会被插入,并在切换显示按钮时显示/隐藏。
下图说明了我的设置。标记为“A”的红色括号指示的小部件是我在选中左侧复选框时显示的小部件(它们没有自己的显示按钮)。
我需要解决的问题是如何让显示的小部件与所有其他小部件对齐。我在这里想到了两个选择:
- 将所有小部件放在相同的布局中,然后循环浏览我需要显示/隐藏的小部件。这样做的好处是所有小部件都排列整齐,因为它们处于相同的布局中。不好的是,如果我有数百行小部件(这很常见),则需要很长时间才能将它们全部显示出来。
- 将子小部件放入它们自己的容器小部件中,并让显示/隐藏按钮简单地显示/隐藏那个小部件。好处是这比显示/隐藏每个单独的小部件要快得多,但不好的一面是小部件现在没有排列,因为子小部件处于不同的布局中。我认为这是更好的选择。我只需要弄清楚如何对齐所有类似的小部件。
希望这很清楚。我正在使用 Qt 5.11。提前感谢您的帮助。
【问题讨论】:
标签: qt qt5 qgridlayout