QT Designer - 如何创建布局
QT Designer - How to create a layout
我是 QT 的新手,尤其是 QT Designer,我发现它非常不直观。
我试图在 Qt Designer 中实现以下布局。
解释:
- 黄色 -> 应用程序 window
- 蓝色 -> 2 个侧边按钮,红色高度和白色高度
- 红色 -> 应该是蓝色高度的 2/3 左右
- 白色 -> 也应该是蓝色高度的 1/3 左右
布局:
- 红色 -> 水平布局
- 白色 -> 水平布局
- 红色 + 白色 -> 垂直布局
- 蓝色 + (红色 + 白色) -> 水平布局
- (BLUE + (REDs + WHITEs)) + SPACER -> 垂直布局(因为按钮和应用程序顶部之间需要一些 space)
但是 如果我应用上面所说的那些,我将得到这样的结果:
据我搜索,我可以使用 Lay Out Horizontally in Splitter 和 Lay Out Horizontally Vertically in Splitter 来保持我想要的纵横比,但我可以拆分应用程序,但我不想要那样。
谁能帮助我了解我该怎么做?或者唯一的方法是使用 C++?
我想你要找的是QGridLayout。
在 QGridLayout 中,您可以决定每个小部件将占用多少行(只需拖动其边框)以及每个 row/column 的各种“权重”(参数称为 rowStretch or columnStretch)。
示例:
您的布局可以组成如下:
一个黄色的大矩形是第一个 QGridLayout(1 行 x 5 列),其中包含(从左到右):
- 你的第一个蓝色元素(占1行1列);
- 3 个 QGridLayouts 为绿色;
- 你的第二个蓝色元素(占1行1列);
绿色的 QGridLayouts(2 行 x 2 列)是这样配置的:
- 你的红色元素(占1行2列,rowStretch为2);
- 你的第一个白色元素,(占1行1列,rowStretch为1);
- 你的第二个白色元素,(占1行1列,rowStretch为1);
这样,红色和白色元素在垂直方向上的比例为 2 比 1,并且(因为它们一起占据蓝色元素的同一行)蓝色高度是红色 + 白色的总和。
我是 QT 的新手,尤其是 QT Designer,我发现它非常不直观。
我试图在 Qt Designer 中实现以下布局。
解释:
- 黄色 -> 应用程序 window
- 蓝色 -> 2 个侧边按钮,红色高度和白色高度
- 红色 -> 应该是蓝色高度的 2/3 左右
- 白色 -> 也应该是蓝色高度的 1/3 左右
布局:
- 红色 -> 水平布局
- 白色 -> 水平布局
- 红色 + 白色 -> 垂直布局
- 蓝色 + (红色 + 白色) -> 水平布局
- (BLUE + (REDs + WHITEs)) + SPACER -> 垂直布局(因为按钮和应用程序顶部之间需要一些 space)
但是 如果我应用上面所说的那些,我将得到这样的结果:
据我搜索,我可以使用 Lay Out Horizontally in Splitter 和 Lay Out Horizontally Vertically in Splitter 来保持我想要的纵横比,但我可以拆分应用程序,但我不想要那样。 谁能帮助我了解我该怎么做?或者唯一的方法是使用 C++?
我想你要找的是QGridLayout。
在 QGridLayout 中,您可以决定每个小部件将占用多少行(只需拖动其边框)以及每个 row/column 的各种“权重”(参数称为 rowStretch or columnStretch)。
示例:
一个黄色的大矩形是第一个 QGridLayout(1 行 x 5 列),其中包含(从左到右):
- 你的第一个蓝色元素(占1行1列);
- 3 个 QGridLayouts 为绿色;
- 你的第二个蓝色元素(占1行1列);
绿色的 QGridLayouts(2 行 x 2 列)是这样配置的:
- 你的红色元素(占1行2列,rowStretch为2);
- 你的第一个白色元素,(占1行1列,rowStretch为1);
- 你的第二个白色元素,(占1行1列,rowStretch为1);
这样,红色和白色元素在垂直方向上的比例为 2 比 1,并且(因为它们一起占据蓝色元素的同一行)蓝色高度是红色 + 白色的总和。