源文件
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//设置主界面大小
this->resize(500,400);
setWindowTitle(QString("登录"));
//将标题图标放入
setWindowIcon(QIcon((":/icon/login.png")));
//设置标签1的图片
ui->label1->setPixmap(QPixmap(":/icon/logo.png"));
//设置标签1为自适应
ui->label1->setScaledContents(true);
//设置标签固定大小
ui->label2->setFixedSize(50,60);
ui->label3->setFixedSize(50,60);
//设置标签图片
ui->label2->setPixmap(QPixmap(":/icon/userName.jpg"));
ui->label3->setPixmap(QPixmap(":/icon/passwd.jpg"));
//标签设为自适应
ui->label2->setScaledContents(true);
ui->label3->setScaledContents(true);
//设置登录和退出按钮图标
ui->btn2->setIcon(QIcon(":/icon/cancel.png"));
ui->btn1->setIcon(QIcon(":/icon/login.png"));
//设置密码输入框的显示模式
ui->edit2->setEchoMode(QLineEdit::Password);
}
Widget::~Widget()
{
delete ui;
}
//登录按钮click信号对应槽函数
void Widget::on_btn1_clicked()
{
//判读输入账号密码是否正确
//账号密码正确
if(ui->edit1->text()=="admin"&&ui->edit2->text()=="123456")
{
QMessageBox box(QMessageBox::Information,"Information","登录成功",QMessageBox::Ok);
int ret = box.exec();
if(ret==QMessageBox::Ok)
{
this->close();
}
}
//账号密码不正确
else
{
QMessageBox box(QMessageBox::Question,"Question","账号和密码不匹配,是否重新登录",QMessageBox::Yes|QMessageBox::No);
int ret = box.exec();
if(ret==QMessageBox::Yes)
{
//清空登录和密码行
ui->edit1->setText("");
ui->edit2->setText("");
}
else if(ret==QMessageBox::No)
{
this->close();
}
}
}
//退出按钮click信后对应槽函数
void Widget::on_btn2_clicked()
{
QMessageBox box(QMessageBox::Warning,"Warning","是否要退出登录",QMessageBox::Yes|QMessageBox::No);
int ret = box.exec();
if(ret==QMessageBox::Yes)
{
this->close();
}
}
头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>
#include <QDebug>
#include <QMessageBox>
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;
};
#endif // WIDGET_H