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

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

QT61.h

cpp 复制代码
#ifndef QT61_H
#define QT61_H

#include <QWidget>

namespace Ui {
class QT61;
}

class QT61 : public QWidget
{
    Q_OBJECT

public:
    explicit QT61(QWidget *parent = nullptr);
    ~QT61();
public slots:
    void fun();

private:
    Ui::QT61 *ui;
};

#endif // QT61_H

wihget.h

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMessageBox>
#include <QDebug>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT
signals:
    void my_signal();


public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_btn1_clicked();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

QT61.cpp

cpp 复制代码
#include "qt61.h"
#include "ui_qt61.h"

QT61::QT61(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::QT61)
{
    ui->setupUi(this);
}

QT61::~QT61()
{
    delete ui;
}
void QT61::fun()
{
    this->show();
}

wihget.cpp

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_btn1_clicked()
{
    if(ui->lineEdit->text()=="12345" && ui->lineEdit_2->text()=="12345");
    {
        QMessageBox msg(QMessageBox::Question,
                        "提示",
                        "登陆成功",
                        QMessageBox::Yes
                        );
        int res =msg.exec();
        if(res==QMessageBox::Yes)
        {
            emit my_signal();
            this->close();
        }
    }

   if(ui->lineEdit->text()!="12345" | ui->lineEdit_2->text()!="12345")
    {
        QMessageBox msg(QMessageBox::Question,
                        "提示",
                        "登陆失败,是否重新登陆",
                        QMessageBox::Yes| QMessageBox::No
                        );
        int sun=msg.exec();
        if(sun==QMessageBox::Yes)
        {
            this->show();
            ui->lineEdit_2->clear();

        }
        else if(sun==QMessageBox::No)
        {
            this->close();
        }
    }


}

main.cpp

cpp 复制代码
#include "widget.h"
#include "qt61.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    QT61 q;
    QObject::connect(&w,&Widget::my_signal,&q,&QT61::fun);
    w.show();
    return a.exec();
}

相关推荐
阿白的白日梦4 天前
winget基础管理---更新/修改源为国内源
windows
埃博拉酱8 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
唐宋元明清21889 天前
.NET 本地Db数据库-技术方案选型
windows·c#
加号39 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
tryCbest9 天前
Windows环境下配置pip镜像源
windows·pip
呉師傅9 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
百事牛科技9 天前
保护文档安全:PDF限制功能详解与实操
windows·pdf
一个人旅程~9 天前
如何用命令行把win10/win11设置为长期暂停更新?
linux·windows·经验分享·电脑
一个假的前端男9 天前
[特殊字符] Flutter 安装完整指南 Windows—— 2026最新版
windows·flutter
倚肆9 天前
在 Windows Docker 中安装并配置 Nginx (映射 Windows 端口与路径)
windows·nginx·docker