运用属性版本和静态成员函数实现 消息对话框
主要函数
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setWindowFlag(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground);
connect(this,&Widget::my_sig1,this,&Widget::succ);
connect(this,&Widget::my_sig2,this,&Widget::fail);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_push1_clicked()//判断是否登陆成功
{
QString a="123456";
QString b="123456";
if(ui->lineEdit->text()==a&&ui->lineEdit_2->text()==b)
{
qDebug() << "登录成功";
emit my_sig1();
}
else {
qDebug() << "登录失败";
emit my_sig2();
}
}
void Widget::succ()//成功登录再判断
{
QMessageBox ms(QMessageBox::Information,
"登录页面",
"登录成功,是否继续",
QMessageBox::Yes | QMessageBox::No,
this);
int re=ms.exec();
if(re==QMessageBox::Yes)
{
emit my_sig();
qDebug() << "进入第二界面";
this->close();
}
else
{
qDebug() << "用户主动退出";
this->close();
}
}
void Widget::fail()//登录失败再判断
{
QMessageBox ms(QMessageBox::Warning,
"登录页面",
"登录失败,用户不存在或密码错误,是否重新登录",
QMessageBox::Yes | QMessageBox::No,
this);
int re=ms.exec();
if(re==QMessageBox::Yes)
{
qDebug() << "用户重新登录";
ui->lineEdit->clear();
ui->lineEdit_2->clear();
}
else
{
qDebug() << "用户主动退出";
this->close();
}
}
void Widget::on_pushButton_3_clicked()//退出再判断
{
int re=QMessageBox::warning(this,
"登录页面",
"登录正在进行,您确认退出吗?",
QMessageBox::Yes | QMessageBox::No);
if(re==QMessageBox::No)
{
qDebug() << "用户重新登录";
ui->lineEdit->clear();
ui->lineEdit_2->clear();
}
else
{
qDebug() << "用户主动退出";
this->close();
}
}
实现效果