QT-DAY2

优化登录框,输入完用户名和密码后,点击登录,判断账户是否为 Admin 密码 为123456,如果判断成功,则输出登录成功,并关闭整个登录界面,如果登录失败,则提示登录失败,并将账号和密码的行编辑器中的内容清空

头文件

#ifndef MYWND_H
#define MYWND_H

#include <QWidget>
#include <QLineEdit>
#include <QDebug>
#include <QPushButton>

QT_BEGIN_NAMESPACE
namespace Ui { class MyWnd; }
QT_END_NAMESPACE

class MyWnd : public QWidget
{
    Q_OBJECT    //有信号与槽,必须加该宏值
signals:
    void mySignal(void);    //定义一个信号函数

public slots:
    void mySlots(void);
    void sign_clicked();
    void on_lineEdit_textChanged();

public:
    MyWnd(QWidget *parent = nullptr);
    ~MyWnd();

private:
    Ui::MyWnd *ui;
};
#endif // MYWND_H

源文件

#include "mywnd.h"
#include "ui_mywnd.h"
#include<QMovie>

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

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

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

    ui->word->setEchoMode(QLineEdit::Password);

    connect(ui->sign,&QPushButton::clicked,this,&MyWnd::sign_clicked);
    connect(ui->name,&QLineEdit::textChanged,
                this,&MyWnd::on_lineEdit_textChanged);
    connect(ui->word,&QLineEdit::textChanged,
                this,&MyWnd::on_lineEdit_textChanged);
}

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

void MyWnd::mySlots(void)
{
}
void MyWnd::sign_clicked()
{
    if(ui->name->text()=="Admin"&&ui->word->text()=="123456")
    {
        qDebug() << "登录成功";
        this->close();
    }else
    {
        qDebug() << "登录失败,账号密码错误,请重新输入";
        ui->name->clear();
        ui->word->clear();
    }
}

void MyWnd::on_lineEdit_textChanged()
{

    if(ui->name->text().length()>=5&&ui->word->text().length()>=5)
    {
      ui->sign->setStyleSheet("background-color:blue");
    }else if(ui->name->text().length()<5&&ui->word->text().length()<5)
    {
      ui->sign->setStyleSheet("background-color:red");
    }
}

主程序

#include "mywnd.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MyWnd w;
    w.show();
    w.on_lineEdit_textChanged();
    return a.exec();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值