1

我很感激有关如何创建由四个布局组成并具有以下属性的 Qt UI 的建议。

  1. UI 高度的任何增加都会被布局吸收,如下所示 在此处输入图像描述

  2. UI 高度的任何进一步降低都会被特定布局的内容所吸收,例如,如下所示的两个大按钮 在此处输入图像描述

4

3 回答 3

8

1#基于QWidget新建UI表单:File -> New file or project -> Qt -> Qt Designer form class -> 选择Widget form templates,next,next,选择project并完成

2#从左栏添加垂直布局

在此处输入图像描述

3# 之后在 UI 表单上的某个地方单击鼠标右键,其中不只是添加布局,“布局”->“在网格中布局”

在此处输入图像描述

4#您可以在右侧菜单上调整布局边距(我总是设置5点)

5#添加四个横向布局

在此处输入图像描述

6# 添加按钮和文本以及您需要的内容

在此处输入图像描述

7# 在水平布局之间添加垂直间隔

在此处输入图像描述

8#最终结果:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

于 2014-08-29T18:10:05.523 回答
1

我准备了适合您问题的快速代码,请看一下: https ://github.com/troyane/StackOverflow-pro/tree/master/creating-auto-scaling-qt-ui-using-layouts

获取该代码并查看接下来的时刻(您可以mainwindow.ui在 QtCreator 中打开):

  • centralWidget有下一个layoutStretch参数:1,2,1,1 ——这意味着,我们将在放置到这个垂直布局中的所有项目之间建立下一个相关性。
  • TextLabel并且两个SmallButtons 都有FixedVerticalPolicy
  • 两个BigButtons 都有Minimum垂直策略并将 minimumSize 的高度设置为 100。UPD:maximumSize->height参数是250px。因此,可以保证两个 BigButton 的高度不会超过 250 像素。

看看另一个答案,在那里你可以找到很多关于布局的文献。

于 2014-08-29T20:57:53.327 回答
0

您可以在每个布局中放置两个垂直垫片。一个应该放在最上面,另一个放在底部:

在此处输入图像描述

于 2014-08-29T17:55:17.957 回答