优化登录框,输入完用户名和密码后,点击登录,判断账户是否为 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_NAMESPACEclass 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();
}
面试题