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

QFormLayout表单布局

时间:2023-12-22 13:55:46浏览次数:36  
标签:QFormLayout edtPassword formLayout 布局 表单 QString QMessageBox EditText btnLogin

一、概述

  新建一个简单的登录表单布局QFormLayout。如下:

 

二、代码示例

#include "FormLayoutExampleWindow.h"

FormLayoutExampleWindow::FormLayoutExampleWindow(QWidget* parent)
    : QWidget(parent)
{
    this->setWindowTitle("Form表单");

    //表单布局
    EditText* edtUserName = new EditText;
    edtUserName->setPlaceholderText("请输入用户名");
    edtUserName->setFixedSize(150, 30);
    EditText* edtPassword = new EditText;
    edtPassword->setPlaceholderText("请输入密码");
    edtPassword->setFixedSize(150, 30);
    edtPassword->setEchoMode(EditText::Password);
    Button* btnLogin = new Button;
    btnLogin->setFixedSize(100, 40);
    btnLogin->setText("登录");
    QFormLayout* formLayout = new QFormLayout(this);
    formLayout->addRow("用户名:", edtUserName);
    formLayout->addRow("密    码:", edtPassword);
    formLayout->addRow(btnLogin);
    formLayout->setSpacing(10);
    formLayout->setMargin(50);
    formLayout->setAlignment(btnLogin, Qt::AlignRight);

    this->setLayout(formLayout);
    formLayout->setFormAlignment(Qt::AlignCenter);
    formLayout->setAlignment(Qt::AlignCenter);

    connect(btnLogin, &Button::clicked, [=]() {
        QString userName = edtUserName->text();
        QString password = edtPassword->text();
        if (userName.isEmpty()) {
            QString dlgTitle = "温馨提示";
            QString strInfo = "用户名不能为空?";
            QMessageBox::StandardButton result = QMessageBox::information(this, dlgTitle, strInfo,
                QMessageBox::Ok);
            return;
        }
        else if (password.isEmpty()) {
            QString dlgTitle2 = "温馨提示";
            QString strInfo2 = "用户密码不能为空?";
            QMessageBox::StandardButton result2 = QMessageBox::information(this, dlgTitle2, strInfo2,
                QMessageBox::Ok);
            return;
        }
        QString dlgTitle3 = "温馨提示";
        QString strInfo3 = "登录成功";
        QMessageBox::StandardButton result2 = QMessageBox::information(this, dlgTitle3, strInfo3,
            QMessageBox::Ok);

        });

}

FormLayoutExampleWindow::~FormLayoutExampleWindow()
{
}

 

标签:QFormLayout,edtPassword,formLayout,布局,表单,QString,QMessageBox,EditText,btnLogin
From: https://www.cnblogs.com/tony-yang-flutter/p/17921430.html

相关文章

  • vue3 + vant4 :form表单中,搭配 Popup 和 Field 实现vant-picker组件,设置默认值及默认选
    环境:vue3,vant4背景:Picker作为用于辅助表单填写,搭配Popup和Field。页面需要给picker设置默认值,city为温州,但是在popup弹出时,picker没有选中温州这个选项,还时停留在杭州。解决方案:看了很多解决方案,设置default-indexset,ColumnIndex。都尝试了,还是不行。而且这些方法,其实在v......
  • 动态表单如何校验?
    记录一下,直接上代码,核心代码就一行。注:prop需要定位到表单项的值,如下定义为[${index}].value,即校验canConfigList[${index}].value的值<el-form:inline="true"ref="addChannelRef":model="canConfigList"label-width="110px"><e......
  • grid布局实战
    1、grid布局两端对齐,最后一行左对齐。display:grid;//grid-template-columns:1fr1fr1fr1fr;//简写:grid-template-columns:repeat(4,1fr);gap:30px; 2、响应式布局:auto-fill主轴上指定的宽度或者重复次数是最大可能的正整数,minmax最小值255px、最大值1fr代表......
  • 如何利用烛龙和谷歌插件优化CLS(累积布局偏移)
    简介CLS衡量的是页面的整个生命周期内发生的每次意外布局偏移的最大突发性_布局偏移分数_。布局变化的发生是因为浏览器倾向于异步加载页面元素。更重要的是,您的页面上可能存在一些初始尺寸未知的媒体元素。这种组合意味着浏览器在加载完成之前无法确定单个元素将占用多少空间。......
  • 如何利用烛龙和谷歌插件优化CLS(累积布局偏移) | 京东云技术团队
    简介CLS衡量的是页面的整个生命周期内发生的每次意外布局偏移的最大突发性_布局偏移分数_。布局变化的发生是因为浏览器倾向于异步加载页面元素。更重要的是,您的页面上可能存在一些初始尺寸未知的媒体元素。这种组合意味着浏览器在加载完成之前无法确定单个元素将占用多少空间。因......
  • felx 弹性布局
    一、设置在容器元素上的:1、display:flex,以前经常用display:none来隐藏元素,而这里flex值的作用是将对应元素设置为弹性布局容器;2、flex-direction,用于控制主轴的方向。在web上默认是row即横向,但在reactnative中默认是column即纵向;这个方向用于控制容器里面的直接子元素沿哪个方......
  • 237-CSS Flexbox模型布局的简单使用
    .div1{display:flex;flex-wrap:wrap;}.div1-1,.div1-2,.div1-3{flex:1;}.div1-4{flex:00100%;}/*可选:为更好的可视效果添加一些样式*/.div1>div{border:1pxsolid#ccc;padding:10px;margin:5px;}.div1-4input[type="text&quo......
  • 保存/恢复cxGrid布局
    //恢复布局IniFileName:=ExtractFilePath(Application.ExeName)+'Layout/'+Self.Name+'.ini';ifFileExists(IniFileName)thenSelf.tvResult.RestoreFromIniFile(IniFileName)//从布局文件中恢复elsebeginSelf.tvResult.BeginUpdate;fori:=0toSelf.tvR......
  • HTML 常用表单元素使用以及注解
    一、表单的用途HTML表单用于收集用户的输入信息。HTML表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到Web服务器。一个表单有三个基本组成部分:表单标签:这包含了处理表单数据所用的URL以及数据提交到服务器的方式。表单域(表单控件):包含了文本框、......
  • 用什么样的开源流程表单实现办公流程化?
    近日,有不少热心网友询问道:如果要实现流程化办公,让整个办公效率火速提升上来,可以用什么样的开源流程表单工具?大伙都知道,随着低代码开发平台的盛行,办公效率也得到很大的提升,它的核心表单制作工具也因其可视化设计、灵活易操作、简便好维护等优势特点,成为很多合作伙伴青睐的优势了。......