Qt 提供了非常丰富的布局类,基本布局管理类包括:QBoxLayout、QGridLayout、QFormL
 ayout 和 QStackedLayout。这些类都从 QLayout 继承而来,它们都来源于 QObject(而不是 QWi
 dget)。创建更加复杂的布局,可以让它们彼此嵌套完成。
其中 QBoxLayout 提供了水平和垂直的布局管理;QFormLayout 提供了将输入部件和标签
 成组排列的布局管理;QGridLayout 提供了网格形式的布局管理;QStackedLayout 提供了一组
 布局后的部件。
各个控件的名称依次解释如下。
 (1) Vertiacl Layout:垂直布局
 (2) Horizontal Layout:水平布局
 (3) Grid Layout:网格布局
 (4) Form Layout:表单布局
QBoxLayout 继承 QLayout。QBoxLayout 类提供水平或垂直地排列子部件。QBoxLayout 获
 取从它的父布局或从 parentWidget()中所获得的空间,将其分成一列框,并使每个托管小部件填
 充一个框。
 QGridLayout继承QLayout。QGridLayout获取可用的空间(通过其父布局或parentWidget())),
 将其分为行和列,并将其管理的每个小部件放入正确的单元格中。由于网格布局管理器中的组
 件也是会随着窗口拉伸而发生变化的,所以也是需要设置组件之间的比例系数的,与 QBoxLay
 out 不同的是网格布局管理器还需要分别设置行和列的比例系数。
 QFormLayout 继承 QLayout。QFormLayout 类管理输入小部件及其关联标签的表单。QFor
 mLayout 是一个方便的布局类,它以两列的形式布局其子类。左列由标签组成,右列由“字段”
 小部件(QLineEdit(行编辑器)、QSpinBox(旋转框等))组成。通常使用 setRowWrapPolicy(RowWr
 apPolicy policy)接口函数设置布局的换行策略进行布局等。
在ui界面下,放几个按钮在界面上,将他们依次选中,然后点击界面上方的:

这几个按钮,即可实现布局:

在右边控件栏选中你所创建的布局可以调整布局的属性:


这个属性的第一个是表示该布局的名称;
第二、三、四、五个分别是 左、顶、右和下边距。调整这个值可以调整按钮或控件到布局边缘的值。
第六个表示控件与控件之间的间隔。
.

把他改成 0 之后就可以看到控件与控件是紧挨着的。
倒数第二个表示的是控件与控件的大小比例,这里改成是 1:1:2:4后的效果

以上是水平布局。

这是垂直布局。

网格布局。

多了一些行和列的设置