将登录框的两个按钮进行实现,登录按钮需要手动连接自定义的槽函数,取消按钮右键转到槽
对于登录按钮对应的槽函数中实现:判断输入的账号是否等于"admin",密码是否为“123456”,如果匹配成功,则输出登录成功后关闭界面
如果匹配失败,输出账号和密码不匹配,请重新输入,并将密码框内容清空
对于取消按钮,在对应的槽函数中,关闭整个界面即可
运行结果如下
```c
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
// connect(ui->loginBtn, SIGNAL(clickeed()), this, SLOT(my_slots())); //链接信号
//设置固定尺寸
this->setFixedSize(this->size());
//更改窗口标题
this->setWindowTitle("myQQ");
//更改窗口图标
this->setWindowIcon(QIcon(":/icon/QQ.png"));
//设置logo
//设置内容自适应
ui->logoLab->setScaledContents(true);
ui->logoLab->setPixmap(QPixmap(":/icon/logo.png"));
//设置用户名为图片
ui->userNameLab->setScaledContents(true);
ui->userNameLab->setPixmap(QPixmap(":/icon/zhanghao.png"));
//设置密码为图片
ui->pwdLab->setScaledContents(true);
ui->pwdLab->setPixmap(QPixmap(":/icon/denglumima.png"));
//将密码输入框设置为密文模式
ui->pwdEdit->setEchoMode(QLineEdit::Password);
//设置占位符
ui->userNameEdit->setPlaceholderText("QQ号码/手机/邮箱");
ui->pwdEdit->setPlaceholderText("密码");
//给登陆,取消设置图片
ui->loginBtn->setIcon(QIcon(":/icon/denglu.png"));
ui->cancelBtn->setIcon(QIcon(":/icon/quxiao.png"));
//登陆按钮进行两个比较,同 输出成功后关闭。不同,清空 千万小心别输错字母了,函数不会报错
connect(ui->loginBtn, SIGNAL(clicked()), this, SLOT(my_slots())); //链接信号
//取消按钮,关闭页面
}
Widget::~Widget()
{
delete ui;
}
//自定义槽函数的实现
void Widget::my_slots()
{
//书写自己逻辑,登陆的txt和密码的txt与admin 123456比较相同,输出登陆成功后关闭界面
QString username;//用户名
QString password; //密码
username = ui->userNameEdit->text();
password = ui->pwdEdit->text();
if( "admin" == username && "123456" == password){
qDebug()<< "登陆成功";
close();
}else{
qDebug()<< "账号和密码不匹配,请重新输入";
ui->pwdEdit->clear();
}
}
//系统给定的槽函数
void Widget::on_cancelBtn_clicked() //取消 按钮对应关闭
{
close();
}
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}