Qt常用控件 | 布局管理器 | 表单布局Form Layout
一、QFormLayout介绍
1. 简介
QFormLayout是Qt中的一个布局管理器,用于在窗口中创建表单布局。它能够根据需要自动调整表单元素的大小和位置,从而创建一个漂亮且具有一致性的表单界面。
QFormLayout按照类似HTML表单的方式将窗口分割成行和列,每个表单元素都放置在一个单独的行中。每一行通常包含一个标签(用于描述表单元素的用途)和一个表单控件(如文本框、下拉框等)。
2. 常用方法
二、QFormLayout使用
1. 图形化创建表单布局
- 在界面中拖入表单布局框,将三个标签和三个输入框拖入表单布局框中,如下图所示
- 点击运行,查看运行结果
2. 代码创建表单布局
- 编写代码,创建三个标签(Label)和三个输入框(Line Edit)和一个提交按钮
#include "widget.h" #include "ui_widget.h" #include<QLabel> #include<QPushButton> #include<QLineEdit> #include<QFormLayout> Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); //创建三个标签 QLabel* label1 =new QLabel("账号"); QLabel* label2 =new QLabel("密码"); QLabel* label3 =new QLabel("验证码"); //创建三个输入框 QLineEdit* edit1 =new QLineEdit(); QLineEdit* edit2 =new QLineEdit(); QLineEdit* edit3 =new QLineEdit(); //创建一个按钮 QPushButton* pushbutton =new QPushButton("提交"); //创建表单布局 QFormLayout* layout = new QFormLayout(); layout->addRow(label1,edit1); layout->addRow(label2,edit2); layout->addRow(label3,edit3); layout->addRow(nullptr,pushbutton); //将layout设置到窗口中 this->setLayout(layout); } Widget::~Widget() { delete ui; }
2.运行代码,查看运行结果,随窗口变化而变化