点击登录按钮,如果账户和密码匹配,则弹出一个信息对话框,提示消息“恭喜你登录成功”,提供一个ok按钮,用户点击ok后,整个页面关闭。
如果账户和密码不匹配,则弹出一个问题对话框,提示消息“账号和密码不匹配,是否重新登录?”,并提供两个按钮,分别是yes和no; 如果用户点击yes,则清空行编辑器中的内容,允许用户继续登录,如果点击no,则关闭整个页面
点击取消按钮,直接弹出一个警告对话框,提示消息“您是否确认要退出登录”,提供两个按钮,分别是yes和no;如果用户点击yes,则关闭整个页面,如果用户点击no,则进行进行登录
//头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QIcon>
#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_pushButton_cancel_clicked();
void on_pushButton_login_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
//源文件
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//设置整个窗口
this->setFixedSize(500,300); //设置窗口大小
this->setWindowIcon(QIcon(":/icon/haha.png")); //设置窗口图标
this->setWindowTitle("我的窗口"); //设置窗口标题
//this->setStyleSheet(QString::fromUtf8("background-color: rgb(17, 77, 77);"));
//设置logo标签
//ui->label_logo->setFixedSize(500,100);
ui->label_logo->setGeometry(0,0,500,120); //设置logo位置及大小
ui->label_logo->setPixmap(QPixmap(":/icon/logo.png")); //设置logo图片
ui->label_logo->setScaledContents(true); //设置内容自适应大小
//设置账户标签
ui->label_account->setFixedSize(20,20); //设置标签固定大小
ui->label_account->setPixmap(QPixmap(":/icon/userName.jpg"));
ui->label_account->setScaledContents(true);
//设置密码标签
ui->label_password->setFixedSize(20,20);
ui->label_password->setPixmap(QPixmap(":/icon/passwd.jpg"));
ui->label_password->setScaledContents(true);
//设置登录按钮
ui->pushButton_login->setIcon(QIcon(":/icon/login.png")); //设置图标
ui->pushButton_login->setText("登录"); //设置标签文本
//设置取消按钮
ui->pushButton_cancel->setIcon(QIcon(":/icon/cancel.png"));
ui->pushButton_cancel->setText("取消");
//设置行编辑器模式
ui->lineEdit_password->setEchoMode(QLineEdit::Password);
}
Widget::~Widget()
{
delete ui;
}
//登录按钮的槽函数
void Widget::on_pushButton_login_clicked()
{
//获取用户在行编辑器输入的帐号和密码
QString account(ui->lineEdit_account->text());
QString password(ui->lineEdit_password->text());
if(account=="admin" && password=="1234567") //判断是否登录成功
{
//弹出“登陆成功”对话框
QMessageBox box(QMessageBox::Information,"Information","登陆成功",QMessageBox::Ok);
box.exec();
this->close(); //关闭整个页面
}
else
{
//弹出对话框询问用户是否继续登录
QMessageBox box(QMessageBox::Question,"Question","帐号和密码不正确,是否重新登录",
QMessageBox::Yes|QMessageBox::No);
int res=box.exec();
if(res==QMessageBox::Yes)
{
//清空行编辑器中的内容
ui->lineEdit_account->clear();
ui->lineEdit_password->clear();
}
else if(res==QMessageBox::No)
this->close();
}
}
//取消按钮对应的槽函数
void Widget::on_pushButton_cancel_clicked()
{
//弹出对话框询问用户是否退出登录
QMessageBox box(QMessageBox::Warning,"Waring","请确认是否退出登录",
QMessageBox::Yes|QMessageBox::No);
int res=box.exec();
if(res==QMessageBox::Yes)
this->close();
}