12.11 C++ 作业

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示"登录成功",提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面

如果账号和密码不匹配,弹出错误对话框,给出信息"账号和密码不匹配,是否重新登录",并提供两个按钮Yes|No,用户点击Yes后,清除密码框中的内容,继续让用户进行登录,如果用户点击No按钮,则直接关闭登录界面

如果用户点击取消按钮,则弹出一个问题对话框,给出信息"您是否确定要退出登录?",并给出两个按钮Yes|No,用户迪纳基Yes后,关闭登录界面,用户点击No后,关闭对话框,继续执行登录功能

要求:基于属性版和基于静态成员函数版至少各用一个。

cpp 复制代码
void Widget::btn1_clicked()
{
    if(ui->edit1->text() == "admin" && ui->edit2->text() == "123456"){
        QMessageBox::information(this,
                                 "提示",
                                 "登录成功",
                                 QMessageBox::Ok
                                 );
        this->close();
        emit my_jump();
    }else{
        QMessageBox msg(
                    QMessageBox::Warning,
                    "警告",
                    "账号和密码不匹配,是否重新登陆",
                    QMessageBox::Yes | QMessageBox::No,
                    this);
        int ret = msg.exec();
        if(ret == QMessageBox::Yes){  //判断警报
            this->show();
            ui->edit2->clear();   //清除
        }else{
            this->close();   //关闭
        }
    }
}

void Widget::on_btn2_clicked()  //按下取消
{
    QMessageBox msg(
                QMessageBox::Information,
                "提示",
                "您是否要退出登录",
                QMessageBox::Yes | QMessageBox::No,
                this);
    int ret = msg.exec();
    if(ret == QMessageBox::Yes){
        this->close();
    }else{
        this->show();
    }
}
cpp 复制代码
//第二个界面自定义的槽函数的实现
void Second::jump_slot()
{
    this->show();
}
cpp 复制代码
#include "widget.h"
#include "second.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    //实例化第二个界面
    Second s;
    QObject::connect(&w, &Widget::my_jump, &s, &Second::jump_slot);
    return a.exec();
}

登录

登录失败

取消登录

相关推荐
淬渊阁1 分钟前
Go package
java·开发语言
CoderCodingNo11 分钟前
【GESP】C++二级真题 luogu-B4259 [GESP202503 二级] 等差矩阵
java·c++·矩阵
明月看潮生13 分钟前
青少年编程与数学 02-018 C++数据结构与算法 11课题、分治
c++·算法·青少年编程·编程与数学
冰茶_27 分钟前
C#中常见的设计模式
java·开发语言·microsoft·设计模式·微软·c#·命令模式
Echo``40 分钟前
2:QT联合HALCON编程—图像显示放大缩小
开发语言·c++·图像处理·qt·算法
JAVA学习通1 小时前
JAVA多线程(8.0)
java·开发语言
Luck_ff08101 小时前
【Python爬虫详解】第四篇:使用解析库提取网页数据——BeautifuSoup
开发语言·爬虫·python
学渣676562 小时前
什么时候使用Python 虚拟环境(venv)而不用conda
开发语言·python·conda
想睡hhh2 小时前
c++STL——stack、queue、priority_queue的模拟实现
开发语言·c++·stl
小鹿鹿啊2 小时前
C语言编程--14.电话号码的字母组合
c语言·开发语言·算法