QT 做一个登录,注册的跳转页面

思路:

1.登录需要判断账号与密码是否想等,相等才可跳转新页面,匹配失败输入框提示"账号密码不匹配"。

2.注册不需要判断,直接跳转新页面即可。

widget.cpp文件

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include <QString>
#include <QDebug>
#include "login.h"
#include "zhuce.h"
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    this->setWindowTitle("千峰");
//    connect(btn,QPushButton::clicked,this,QWidget::login);
    connect(ui->btn1,SIGNAL(clicked(bool)),this,SLOT(logins()));
    connect(ui->btn2,SIGNAL(clicked(bool)),this,SLOT(registers()));

    connect(ui->lab1,SIGNAL(textChanged(QString)),this,SLOT(mesg()));
    connect(ui->lab2,SIGNAL(textChanged(QString)),this,SLOT(mesg()));

}

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

void Widget::logins()
{
    QString user = ui->lab1->text();
    QString pass = ui->lab2->text();
   if(user == "admin" && pass == "027027")
   {
       qDebug() << "登录成功" << endl;
       login* log = new login;
       log->show();
       this->close();
   }
   else
   {
       ui->lab1->setText("账号密码不匹配");
       qDebug() << endl << "账号密码不匹配" << endl;
   }

}

void Widget::mesg(){
    qDebug() << "你好" << endl;
}

void Widget::registers()
{
    zhuce* reg = new zhuce;
    reg->show();
    this->close();
}

widget.h文件

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include "login.h"

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private:
    Ui::Widget *ui;
public slots:
    void logins();
    void mesg();
    void registers();
};

#endif // WIDGET_H

login.cpp文件

cpp 复制代码
#include "login.h"
#include "ui_login.h"
#include <QLabel>
#include <QIcon>
login::login(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::login)
{
    ui->setupUi(this);
    QLabel *label = new QLabel(this);
}

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

login.h文件

cpp 复制代码
#ifndef LOGIN_H
#define LOGIN_H

#include <QWidget>

namespace Ui {
class login;
}

class login : public QWidget
{
    Q_OBJECT

public:
    explicit login(QWidget *parent = 0);
    ~login();

private:
    Ui::login *ui;
};

#endif // LOGIN_H

zhuce.cpp

cpp 复制代码
#include "zhuce.h"
#include "ui_zhuce.h"
#include <QLabel>
#include <QIcon>
zhuce::zhuce(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::zhuce)
{
    ui->setupUi(this);
    QLabel *label = new QLabel(this);
}

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

zhuce.h文件

cpp 复制代码
#ifndef ZHUCE_H
#define ZHUCE_H

#include <QWidget>

namespace Ui {
class zhuce;
}

class zhuce : public QWidget
{
    Q_OBJECT

public:
    explicit zhuce(QWidget *parent = 0);
    ~zhuce();

private:
    Ui::zhuce *ui;
};

#endif // ZHUCE_H

注意:

1.main.cpp文件不用动

2.zhuce.ui文件和login.ui文件是注册与登录所对应要跳转的新页面

相关推荐
luoyayun3612 小时前
Qt + FFmpeg 视频工具:视频一键压缩功能实现
qt·ffmpeg·音视频·视频压缩
blueman88883 小时前
Qt5通过vcpkg中调用时,在debug模式下调试时总是调用release的plugins文件夹中的dll
c++·qt·cmake
我是坏垠4 小时前
Crypto、Cipher与Password:Java加密开发的三个核心概念
java·开发语言·python
white_ant5 小时前
JDK LTS 版本升级迁移注意事项大全
java·开发语言
Bobolink_5 小时前
跨境业务网络环境评估,“干净、一致、独享”三个关键指标
开发语言·网络·php·跨境网络·网络环境
你怎么知道我是队长5 小时前
JavaScript的变量和数据类型介绍
开发语言·javascript·ecmascript
xingke5 小时前
C 语言多文件编程:(一)头文件、extern、编译链接
c语言·开发语言·多文件
戮漠summer6 小时前
Missing Semester 计算机教育中缺失的一课 Lecture 01 Shell
开发语言·后端·scala
jinyishu_6 小时前
C++ string使用方法
开发语言·c++
EW Frontier6 小时前
三级跳突破864维动作空间——QMIX-Hierarchical多无人机协同通信方法全解析【附python代码】
开发语言·python·无人机·强化学习·通信资源分配