8.19Qt作业

发布于:2024-08-20 ⋅ 阅读:(130) ⋅ 点赞:(0)

运用属性版本和静态成员函数实现 消息对话框

主要函数

#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();
    }
}

实现效果

 


网站公告

今日签到

点亮在社区的每一天
去签到