Qt常用控件 | 布局管理器 | 垂直布局Vertical Layout
一、QVBoxLayout介绍
1. 简介
QVBoxLayout是Qt框架中的一个布局管理器类,用于在垂直方向上排列子控件。它是QBoxLayout的子类,继承了QBoxLayout的功能和特性。
通过使用QVBoxLayout,可以对子控件在垂直方向上进行自动布局,而无需手动调整它们的位置和大小。可以将多个子控件添加到QVBoxLayout中,并通过一些方法和属性来指定它们之间的间距和对齐方式。
2. 核心属性
Layout 只是用于界⾯布局, 并没有提供信号
二、QVBoxLayout使用
1. 使用代码创建QVBoxLayout
- 创建布局管理器和三个按钮. 并且把按钮添加到布局管理器中,代码如下
#include "widget.h" #include "ui_widget.h" #include <QPushButton> #include <QVBoxLayout> Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //创建三个按钮 QPushButton * button1 = new QPushButton("按钮1"); QPushButton * button2 = new QPushButton("按钮2"); QPushButton * button3 = new QPushButton("按钮3"); //创建布局管理器 QVBoxLayout * layout = new QVBoxLayout(); //将按钮添加进布局管理器 layout->addWidget(button1); layout->addWidget(button2); layout->addWidget(button3); //把布局管理器设置到widget中 this->setLayout(layout); } Widget::~Widget() { delete ui; }
2.运行上述代码,查看结果
2. 图形化创建两个QVBoxLayout
- 在界面中创建两个垂直布局,将按钮拖入垂直布局中,如下图所示
- 也可以使用选中要垂直布局的按钮后,点击界面上方的垂直布局
3.运行代码,按钮已经自动排好位置了,但是当前按钮不能随窗口变化而变化了