QT day2

发布于:2024-05-07 ⋅ 阅读:(34) ⋅ 点赞:(0)
练习:优化登录框,输入完用户名和密码后,点击登录,判断账户是否为 Admin 密码 为123456,如果判断成功,则输出登录成功,并关闭整个登录界面,如果登录失败,则提示登录失败,并将账号和密码的行编辑器中的内容清空,只有当账户输入五个字符且密码输入六个字符以上才能点击登录按钮
#include "widget.h"
#include "ui_widget.h"
#include<QMovie>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //对ui界面上拖拽的组件进行设置
    ui->loginBtn->setStyleSheet("background-color:red");
    //将logo标签设置自适应
    ui->logoLab->setScaledContents(true);
    QMovie *moviePtr = new QMovie(":/pictrue/zz.gif");   //设置动图
    ui->logoLab->setMovie(moviePtr);
    moviePtr->start();                 //让动图动起来

    ui->usrLab->setScaledContents(true);
    ui->usrLab->setPixmap(QPixmap(":/pictrue/wodepeizhenshi.png"));

    ui->pwdLab->setScaledContents(true);
    ui->pwdLab->setPixmap(QPixmap(":/pictrue/passwd.jpg"));

    ui->pwdEdit->setEchoMode(QLineEdit::Password);
    connect(ui->loginBtn,SIGNAL(clicked()),this,SLOT(mySlots()));
    connect(ui->usrEdit,&QLineEdit::textChanged,[&](){
        if(ui->usrEdit->text().length()>=5&&ui->pwdEdit->text().length()>=6)
        {
            ui->loginBtn->setStyleSheet("background-color:blue");

        }
        else
        {
            ui->loginBtn->setStyleSheet("background-color:red");

        }
    });
    connect(ui->pwdEdit,&QLineEdit::textChanged,[&](){
        if(ui->usrEdit->text().length()>=5&&ui->pwdEdit->text().length()>=6)
        {
            ui->loginBtn->setStyleSheet("background-color:blue");

        }
        else
        {
            ui->loginBtn->setStyleSheet("background-color:red");

        }
    });
}
void Widget::mySlots(void)
{
    if(ui->usrEdit->text()=="Admin"&&ui->pwdEdit->text()=="123456")
    {
        qDebug() << "登录成功";
        this->close();
    }
    else
    {
        qDebug() << "登录失败";
        ui->usrEdit->clear();
        ui->pwdEdit->clear();
    }
}

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