任务:
完善登录界面,登录按钮对应的槽函数中,判断所填写账户密码是否正确,默认账户“admin”, 密 码“123456”
如果匹配成功,则输出登录成功并关闭界面,如果登录失败,输出登录失败,并清空密码框中的内容
点击取消按钮,则关闭界面
程序代码:
.h文件
#ifndef MYWIN_H
#define MYWIN_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class MyWin; }
QT_END_NAMESPACE
class MyWin : public QWidget
{
Q_OBJECT
public:
MyWin(QWidget *parent = nullptr);
~MyWin();
private slots:
void loadbtn_clicked(); //系统定义的loadbtn发送的信号对应的槽函数
void cancelbtn_clicked(); //系统定义的cancelbtn发送的信号对应的槽函数
private:
Ui::MyWin *ui;
};
#endif // MYWIN_H
.cpp文件
#include "mywin.h"
#include "ui_mywin.h"
#include<QString>
#include<QDebug>
MyWin::MyWin(QWidget *parent)
: QWidget(parent)
, ui(new Ui::MyWin)
{
ui->setupUi(this);
//设置窗口Icon
this->setWindowIcon(QIcon("C:/Users/Lenovo/Desktop/icon.png"));
//设置窗口标题
this->setWindowTitle("QQ登录");
//设置logo
ui->logolab->setPixmap(QPixmap("D:/22101_c++_qt/QT/day2zuoye/icon/logo.png"));
//设置用户名和密码的icon
ui->usernamelab->resize(40,40);
ui->usernamelab->setScaledContents(true);
ui->usernamelab->setPixmap(QPixmap("D:/22101_c++_qt/QT/day2zuoye/icon/userName.jpg"));
ui->passwordlab->resize(40,40);
ui->passwordlab->setScaledContents(true);
ui->passwordlab->setPixmap(QPixmap("D:/22101_c++_qt/QT/day2zuoye/icon/passwd.jpg"));
//设置密码的行编辑器为密文模式
ui->passwordEdit->setEchoMode(QLineEdit::Password);
//设置两个按钮的icon
ui->loadbtn->setIcon(QIcon("D:/22101_c++_qt/QT/day2zuoye/icon/login.jpg"));
ui->cancelbtn->setIcon(QIcon("D:/22101_c++_qt/QT/day2zuoye/icon/cancel.jpg"));
//将loadbtn的clicked信号与自定义的槽函数进行连接
connect(ui->loadbtn,SIGNAL(clicked()),this,SLOT(loadbtn_clicked()));
//将cancelbtn的clicked信号与自定义的槽函数进行连接
connect(ui->cancelbtn,SIGNAL(clicked()),this,SLOT(cancelbtn_clicked()));
}
MyWin::~MyWin()
{
delete ui;
}
自定义处理loadbtn发射信号的槽函数,,,,(判断账户密码是否正确,正确输出登录成功并关闭界面,失败则清空密码)
void MyWin::loadbtn_clicked()
{
if( ui->usernameEdit->text()=="admir" && ui->passwordEdit->text() == "123456")
{
qDebug()<<"********登录成功********";
close();
}else
{
qDebug()<<"*********登录失败********";
ui->passwordEdit->clear();
}
}
//自定义处理cancelbtn发射信号的槽函数(关闭界面)
void MyWin::cancelbtn_clicked()
{
//关闭界面
close();
}
运行结果:
![](https://i-blog.csdnimg.cn/blog_migrate/9f4515c8e4f90dd19ff09ce0b9ddeb53.png)