首页 > 其他分享 >【Qt】表单布局QFormLayout

【Qt】表单布局QFormLayout

时间:2024-08-30 23:50:11浏览次数:12  
标签:QFormLayout layout Qt 表单 new include QLabel

 表单布局QFormLayout

Qt 还提供了 QFormLayout , 属于是 QGridLayout 的特殊情况, 专⻔⽤于实现两列表单的布局.

这种表单布局多⽤于让⽤⼾填写信息的场景. 左侧列为提⽰, 右侧列为输⼊框

例子:使用QFormLayout创建表单

(1)设置三个label、三个lineEdit

(2)设置表单布局,将上述控件添加到表单布局中。

使⽤ addRow ⽅法来添加⼀⾏. 每⾏包含两个控件. 第⼀个控件固定是 QLabel / ⽂本, 第⼆个控件则可以是任意控件.

(3)设置一个按钮,将按钮添加到表单布局的右侧

如果把第⼀个参数填写为 NULL或者nullptr, 则什么都不显⽰ 

(4)执行程序

(5)代码展示

#include "widget.h"
#include "ui_widget.h"

#include <QPushButton>
#include <QFormLayout>
#include <QLineEdit>
#include <QLabel>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    // 设置三个label
    QLabel* label1 = new QLabel("姓名");
    QLabel* label2 = new QLabel("年龄");
    QLabel* label3 = new QLabel("电话");

    // 设置三个lineEdit
    QLineEdit* lineEidt1 = new QLineEdit();
    QLineEdit* lineEidt2 = new QLineEdit();
    QLineEdit* lineEidt3 = new QLineEdit();

    // 设置表单布局
    QFormLayout* layout = new QFormLayout();
    this->setLayout(layout);

    // 添加到layout中
    layout->addRow(label1, lineEidt1);
    layout->addRow(label2, lineEidt2);
    layout->addRow(label3, lineEidt3);

    // 设置一个按钮,将按钮添加到layout右侧
    QPushButton* button1 = new QPushButton("提交");
    layout->addRow(nullptr, button1);

}

Widget::~Widget()
{
    delete ui;
}

标签:QFormLayout,layout,Qt,表单,new,include,QLabel
From: https://blog.csdn.net/dab112/article/details/141501261

相关文章

  • 我的第一个QT程序_创建项目_全程图解
    创建项目1.打开QT开发工具2.点【创建项目】在弹出的窗口的项目列表中选择【Application(Qt)】中间列选择第一项如上图。3.输入项目名称和项目保存的路径4.Buildsystem下拉列表中有三个选项,虽然Qt6主推CMake,所以可以默认,直接下一步5.类相关信息设置。这里也可以......
  • PbootCMS使用Ajax无刷新提交留言及表单
    留言表单<formonsubmit="returnsubmsg(this);">联系人<inputtype="text"name="contacts"requiredid="contacts">手机<inputtype="text"name="mobile"requiredid="mobile"......
  • 【Qt笔记】QListView控件详解
     目录引言一、QListView基本概念1.1定义与功能1.2架构原理二、QListView基本使用2.1创建QListView和Model2.2设置QListView的属性2.3处理用户交互三、QListView高级技巧3.1自定义委托3.2使用QStandardItemModel3.3实现拖放功能四、QListView......
  • Unity+QT, 如何把Unity打包出的exe嵌入QT程序中,并且使用Socket进行交互
    文章目录概要前期准备QT与Unity的Socket通信实际应用场景总结概要在VR开发中,常常需要桌面窗口和VR头盔使用者进行交互。通过将Unity制作的VR程序嵌入到QT应用程序窗口中,并使用Socket进行通信,可以实现这种交互。本文将介绍如何实现这一功能。前期准......
  • CSS、JS之密码灯登录表单
    效果演示实现了一个登录页面,包括一个标题、两个输入框(用户名和密码)、一个登录按钮和一个眼睛图标。点击眼睛图标可以显示或隐藏密码。页面背景有两个圆形的半透明元素,整个页面使用了flex布局,并且在水平和垂直方向上都居中对齐。登录框使用了阴影效果和圆角边框,并且在水平和......
  • 四博智联OpenMQTTGateway蓝牙网关,支持100多种蓝牙传感器
    以下是一篇关于OpenMQTTGateway的软文,包含了相关图片,以更好地展示该项目的功能和优势。模组规格OpenMQTTGateway:一站式解决物联网协议整合的强大工具OpenMQTTGateway是一个开源项目,旨在将多种不同的物联网协议整合到一个统一的固件中。通过这一创新性的解决方案,开发......
  • 三分钟总结开源流程表单的优势特点
    实现流程化办公,可以借助低代码技术平台、开源流程表单的优势特点。作为当前较为理想的平台产品,低代码技术平台凭借够灵活、好操作、可视化界面的优势特点,得到了通信业、医疗、高校等很多行业客户朋友的喜爱与支持。今天一起来看看开源流程表单的优势特点,一起了解它为何能助力企业......
  • Qt | Qt是C++最好的图形界面开发库(学习路线图)
    点击上方"蓝字"关注我们01、WhatisQt?>>>Qt是一个跨平台的C++图形用户界面库,目前包括QtCreator、QtDesigner等等快速开发工具。Qt支持所有Linux/Unix系统,还支持windows平台。Qt很容易扩展,并且允许真正地组件编程。Qt与GTK、MFC、OWL、ATL 是一样的图形界......
  • MQTT详细介绍
    1.MQTT是什么  MQTT是基于发布与订阅模式的轻量级通讯协议,是基于TCP/IP建立的应用层协议。2.MQTT的特点轻量级:MQTT协议非常简洁,以极少的代码和有限的带宽就能实现可靠的消息传输。实时性:MQTT提供实时消息服务,确保设备之间的数据传输及时可靠。低开销:MQTT协议的开销......
  • QT在控件graphicsView中绘制箭头
    这里写自定义目录标题前言:基础夯实:成功效果展示:失败效果展示:核心代码:前言:对之前箭头没有成功绘制的补充,因为没有直接的箭头项,所以需要自己进行绘制基础夯实:可以直接看,建议看一下之前的绘制过程在控件graphicsView中实现绘图功能(一)在控件graphicsView中实现绘图功......