水平布局管理器QHBoxLayout
使用QHBoxLayout表示水平的布局管理器(H表示horizontal)
- 核心属性
| 属性 | 说明 |
|---|---|
|
layoutLeftMargin |
左侧边距 |
|
layoutRightMargin |
右侧边距 |
|
layoutTopMargin |
上⽅边距 |
|
layoutBottomMargin |
下⽅边距 |
|
layoutSpacing |
相邻元素之间的间距 |
例子:使用水平布局管理器QHBoxLayout管理控件
(1)编写代码,创建一个布局管理器和三个按钮,并将按钮设置在布局管理器里面。

(2)运行程序,可以看到此时界⾯上的按钮就存在于布局管理器中. 随着窗⼝尺⼨变化⽽发⽣改变

例子:嵌套的layout
布局管理器之间也是可以进行嵌套。
下面将演示这样一种情况:

(1)编写代码

(2)运行程序

(3)代码展示
#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
// 创建垂直的布局管理器
QVBoxLayout* vLayout = new QVBoxLayout();
this->setLayout(vLayout);
// 在垂直布局管理器中添加俩个按钮
QPushButton* button1 = new QPushButton("按钮1");
QPushButton* button2 = new QPushButton("按钮2");
vLayout->addWidget(button1);
vLayout->addWidget(button2);
// 创建水平的布局管理器
QHBoxLayout* hLayout = new QHBoxLayout();
this->setLayout(hLayout);
// 在水平布局管理器中添加俩个按钮
QPushButton* button3 = new QPushButton("按钮3");
QPushButton* button4 = new QPushButton("按钮4");
hLayout->addWidget(button3);
hLayout->addWidget(button4);
// 把水平布局管理器添加到垂直布局管理器中
vLayout->addLayout(hLayout);
}
Widget::~Widget()
{
delete ui;
}
945





