1> 点击确定按钮时,如果账号和密码匹配成功,则弹出信息对话框,提示登录成功,点击ok后,关闭页面
2> 匹配失败,则弹出警告对话框,信息为账号密码错误,是否重新登录,该对话框中有两个按钮,分别时yes和no,如果点击yes,则继续进行登录,并且将两个行编辑器之前输入的内容清空(clear)。如点击no,则关掉整个窗口
3> 点击取消按钮时,弹出错误对话框,给出提示,是否真的要退出登录,该对话框中有两个按钮,分别时yes和no,如果点击yes,关闭整个页面。如果点击no,则继续进行进行登录
my.cpp
#include "mywid.h"
#include "ui_mywid.h"
mywid::mywid(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::mywid)
{
ui->setupUi(this);
//给登录按钮附图
QIcon icon("C:/Download/tupian/icon/login.png");
ui->btn1->setIcon(icon);
//取消按钮安图
QIcon icon1("C:/Download/tupian/icon/cancel.png");
ui->btn2->setIcon(icon1);
//用户名lab附图
QPixmap pixmap(":/icon/userName.png");
ui->label1->setPixmap(pixmap);
ui->label1->setFixedSize(35,20);
ui->label1->setScaledContents(true);
//密码lab附图
QPixmap pixmap1(":/icon/passwd.png");
ui->label2->setPixmap(pixmap1);
ui->label2->setFixedSize(35,20);
ui->label2->setScaledContents(true);
ui->mylinedit2->setEchoMode(QLineEdit::Password);
this->set
}
mywid::~mywid()
{
delete ui;
}
//登录按钮
void mywid::on_btn1_clicked()
{
//密码正确
if(ui->mylinedit1->text()=="admin" && ui->mylinedit2->text()=="123456")
{
//密码正确弹出信息窗口,有一个yes按钮
QMessageBox::StandardButton btn = QMessageBox::information(this,
"信息窗口", "登录成功", QMessageBox::Ok);
//登录成功点击ok退出页面
if(btn == QMessageBox::Ok)
{
this->close();
}
}else
{
//密码错误弹出警告窗口并且有提示信息, 两个按钮yes和no
QMessageBox::StandardButton btn = QMessageBox::warning(this, "警告窗口",
"账号密码错误,是否重新的登录",
QMessageBox::Yes|QMessageBox::No);
//如果是yes清空两个行编辑器
if(btn == QMessageBox::Yes)
{
ui->mylinedit1->clear();
ui->mylinedit2->clear();
}
//如果是no关闭窗口
else if(btn == QMessageBox::No)
{
this->close();
}
}
}
//点击取消按钮
void mywid::on_btn2_clicked()
{
//弹出警告窗口 有两个按钮yes和no
QMessageBox::StandardButton btn = QMessageBox::warning(this, "警告窗口", "是否真的要退出",
QMessageBox::Yes|QMessageBox::No);
//如果是yes关闭窗口
if(btn == QMessageBox::Yes)
{
this->close();
}
//如果是no可以继续登录
else if(btn == QMessageBox::No)
{
qDebug()<<"可以继续登录";
}
}
main.cpp
#include "mywid.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
mywid w;
w.show();
return a.exec();
}
.h
#ifndef MYWID_H
#define MYWID_H
#include <QMainWindow>
#include <QIcon>
#include <QPixmap>
#include <QtDebug>
#include <QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui { class mywid; }
QT_END_NAMESPACE
class mywid : public QMainWindow
{
Q_OBJECT
public:
mywid(QWidget *parent = nullptr);
~mywid();
private slots:
void on_btn1_clicked();
void on_btn2_clicked();
private:
Ui::mywid *ui;
};
#endif // MYWID_H