qt开发-08_layout 布局

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后的效果

以上是水平布局。

这是垂直布局。

网格布局。

多了一些行和列的设置

布局管理器(Layout)是Qt框架中用于管理窗口部件位置和大小的类。它提供了一种方便的方式来自动调整和排列窗口部件,以适应不同的窗口大小和布局需求。以下是布局管理器的一些功能: 1. 自动调整大小:布局管理器可以根据窗口大小的变化自动调整包含的窗口部件的大小,以保持它们在布局中的相对位置和比例。 2. 自动布局布局管理器会根据一组规则和策略,自动将窗口部件按照预定的方式排列和布局,以适应窗口大小的变化。例如,水平布局(QHBoxLayout)会将窗口部件水平排列,垂直布局(QVBoxLayout)会将窗口部件垂直排列。 3. 灵活性:布局管理器可以根据需要进行嵌套和组合,以创建复杂的布局结构。例如,可以将水平布局和垂直布局嵌套在一起,以实现更复杂的布局效果。 4. 动态添加和移除:可以在运行时动态地添加或移除窗口部件,而无需手动调整它们的位置和大小。布局管理器会自动重新布局,以适应新的窗口部件。 5. 对齐和空白控制:布局管理器提供对窗口部件对齐方式的控制,例如左对齐、右对齐、居中对齐等。此外,还可以通过添加空白控件(QSpacerItem)来控制窗口部件之间的间距和空白区域。 通过使用布局管理器,Qt应用程序可以实现灵活和响应式的用户界面布局,减少了手动计算和调整窗口部件位置的工作量,提高了开发效率和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值