完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示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();
}

相关推荐
ZhangJun954 小时前
从零写一个类鲁大师的硬件检测小工具,软件附上,可直接使用
windows·测试工具·电脑·笔记本电脑·硬件架构
imperialeast6 小时前
创建WAV文件 韩文、德文、俄文等unicode音乐标签
windows·小程序
易点云徐源6 小时前
社保费管理客户端打开后进度条卡20%,等待1分钟提示获取接收配置失败
windows
I'mChloe7 小时前
Windows部署BiliNote:Docker安装、AI视频转写、Markdown笔记与cpolar远程访问
人工智能·windows·docker
荣合技术服务8 小时前
EMQX mqtt在 Windows 系统上的安装教程
windows·mqtt·emqx
学逆向的8 小时前
虚拟内存与物理内存
windows·网络安全·api·win32
小小小小钰儿9 小时前
2.1-Windows本地部署大模型
人工智能·windows·计算机·网络安全·操作系统·编程
ayaya_mana9 小时前
MCTier 组网联机工具:安装、配置与私有化部署
网络·windows·内网穿透·联机
ysu_031411 小时前
Docker-Desktop-WSL2实战指南-Windows从安装配置到项目容器化
windows·python·docker·容器·composer·dockerfile·wsl2
shimly12345611 小时前
(undone) 解析 qemu-6.0.0 源码 (4) 添加 niubi board
windows