Qt常用控件之垂直布局QVBoxLayout
垂直布局QVBoxLayout
QVBoxLayout
是一种垂直布局控件。
1. QVBoxLayout属性
属性 | 说明 |
---|---|
layoutLeftMargin | 左侧边距。 |
layoutRightMargin | 右侧边距。 |
layoutTopMargin | 顶部边距。 |
layoutBottomMargin | 底部边距。 |
layoutSpacing | 相邻元素间距。 |
2. QVBoxLayout方法
方法 | 说明 |
---|---|
addWidget | 把控件添加到布局管理器。 |
setLayout | 设置布局管理器到……(即设置到 widget 中或其他 layout 中) |
3. 代码创建并使用QVBoxLayout管理多个控件
注意要将 QVBoxLayout
的父元素设置到 this
上,且 QVBoxLayout
头文件为 <QLayout>
:
#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include <QLayout>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
QPushButton* button1=new QPushButton("pushButton1");
QPushButton* button2=new QPushButton("pushButton2");
QPushButton* button3=new QPushButton("pushButton3");
QVBoxLayout* layout=new QVBoxLayout(this);
layout->addWidget(button1);
layout->addWidget(button2);
layout->addWidget(button3);
}
Widget::~Widget()
{
delete ui;
}
代码构建的 layout 的特点是布局会随窗口大小变化而变化。