当前位置: 首页 > article >正文

qtqtqtqtqtqtqtqtqtqtqt

loginwidget.h

#include "LoginWidget.h"

LoginWidget::LoginWidget(QWidget *parent)
    : QWidget(parent)
{
    setupUI();
}

void LoginWidget::setupUI()
{

    setWindowTitle("登录界面");
    setFixedSize(300, 150);


    QLabel *userLabel = new QLabel("账号:", this);
    QLabel *passLabel = new QLabel("密码:", this);
    m_userEdit = new QLineEdit(this);
    m_passEdit = new QLineEdit(this);
    m_passEdit->setEchoMode(QLineEdit::Password); // 密码显示模式

    m_loginBtn = new QPushButton("登录", this);
    m_cancelBtn = new QPushButton("取消", this);


    QVBoxLayout *mainLayout = new QVBoxLayout(this);
    QHBoxLayout *btnLayout = new QHBoxLayout;


    QHBoxLayout *userLayout = new QHBoxLayout;
    userLayout->addWidget(userLabel);
    userLayout->addWidget(m_userEdit);


    QHBoxLayout *passLayout = new QHBoxLayout;
    passLayout->addWidget(passLabel);
    passLayout->addWidget(m_passEdit);


    btnLayout->addStretch();
    btnLayout->addWidget(m_loginBtn);
    btnLayout->addWidget(m_cancelBtn);


    mainLayout->addLayout(userLayout);
    mainLayout->addLayout(passLayout);
    mainLayout->addLayout(btnLayout);


    connect(m_loginBtn, &QPushButton::clicked, this, &LoginWidget::onLoginClicked);
    connect(m_cancelBtn, &QPushButton::clicked, this, &LoginWidget::onCancelClicked);
}

void LoginWidget::onLoginClicked()
{
    checkCredentials();
}

void LoginWidget::onCancelClicked()
{
    close();
}

void LoginWidget::checkCredentials()
{
    QString username = m_userEdit->text();
    QString password = m_passEdit->text();


    if(username == password && !username.isEmpty()) {
        QMessageBox::information(this, "成功", "登录成功!");
        emit jumpSignal();
        close();
    } else {
        QMessageBox::warning(this, "失败", "账号或密码错误");
        m_passEdit->clear();
        m_passEdit->setFocus();
    }
}


http://www.kler.cn/a/536357.html

相关文章:

  • MySQL - 字段内分组
  • 在 MySQL 8 中配置主从同步(主从复制)是一个常见的需求,用于实现数据的冗余备份、读写分离等。
  • Go 语言 | 入门 | 快速入门
  • 一个RPC框架应该解决哪些问题?
  • Java常用类
  • 口腔扫描仪(口扫)核心算法——点云三维重建
  • 工业相机,镜头的选型及实战
  • 机器学习在癌症分子亚型分类中的应用
  • 组合(力扣77)
  • 网站快速收录:如何优化网站专题页面?
  • 如何依据使用场景挑选合适的3D扫描仪?
  • 流媒体技术原理
  • 4-kafka消费端之分区分配策略
  • SAP FICO 部分付款付款起算日期、销售订单、行取原始凭证增强
  • docker数据持久化的意义
  • 【10.6】队列-解从仓库到码头运输箱子
  • Python教学安排
  • AUTOSAR汽车电子嵌入式编程精讲300篇-基于FPGA的CAN FD汽车总线数据交互系统设计
  • 【R语言】plyr包和dplyr包
  • Elasticsearch 生产集群部署终极方案
  • vscode卡住---回退版本解决
  • Charles 远端代理到本地:Map Remote + http-server
  • 基于Simulink的步进电机控制系统仿真
  • 【前端基础】深入理解ES6新特性
  • systemverilog的genvar
  • 时序数据库:Influxdb详解