题目:完善登录界面,登录按钮对应的槽函数中,判断所填写账户密码是否正确,默认账户“admin",密码“123456",如果匹配成功,则输出登录成功并关闭界面,如果登录失败,输出登录失败,并清空密码框中的内容,点击取消按钮,则关闭界面
header:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QLineEdit>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_btn1_clicked();
void on_btn2_clicked();
private:
Ui::Widget *ui;
QLineEdit *edit1;
QLineEdit *edit2;
};
#endif // WIDGET_H
widget.cpp:
#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include<QDebug>
#include<QLabel>
#include <QPushButton>
#include<QDebug>
#include<QLabel>
#include <synchapi.h>
#include<QLineEdit>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setWindowTitle(QString("QQ")); //使用匿名对象进行传递
//设置窗口图标
//this->setWindowIcon(QIcon("C:\\Users\\Shuqian-Li\\Desktop\\icon.png"));
this->setWindowIcon(QIcon("C:/Users/Shuqian-Li/Desktop/QQ.png"));
QLabel *lab1 = new QLabel("账户:", this);
lab1->move(100,150);
QLabel *lab2 = new QLabel("密码:", this);
lab2->move(100,200);
edit1 = new QLineEdit(this);
edit1->move(150,150);
edit2 = new QLineEdit(this);
edit2->move(150,200);
//设置回显模式
edit2->setEchoMode(QLineEdit::Password);
//设置窗口最小尺寸
this->setMinimumSize(QSize(400,300));
//设置窗口最大尺寸
this->setMaximumSize(QSize(500,400));
QPushButton *btn1=new QPushButton("确认",this);
btn1->move(100,250);
QPushButton *btn2=new QPushButton("取消",this);
btn2->move(250,250);
QLabel *lab3=new QLabel(this); //无参构造并且指定父组件
lab3->resize(500,100); //设置图片大小
lab3->setPixmap(QPixmap("C:\\Users\\Shuqian-Li\\Desktop\\logo.png"));
connect(btn1,&QPushButton::clicked,this,&Widget::on_btn1_clicked);
connect(btn2,&QPushButton::clicked,this,&Widget::on_btn2_clicked);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_btn1_clicked()
{
QString msg = edit1->text(); //获取文本信息
QString msg1 = edit2->text();
if(msg=="admin" && msg1=="123456")
{
qDebug()<<"登录成功";
Sleep(100);
this->close();
}
else
{
qDebug()<<"登录失败";
edit2->clear();
}
}
void Widget::on_btn2_clicked()
{
this->close();
}
main.c:
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
运行效果: