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文件是注册与登录所对应要跳转的新页面

相关推荐
是娇娇公主~38 分钟前
C++ 中 std::deque 的原理?它内部是如何实现的?
开发语言·c++·stl
SuperEugene1 小时前
Axios 接口请求规范实战:请求参数 / 响应处理 / 异常兜底,避坑中后台 API 调用混乱|API 与异步请求规范篇
开发语言·前端·javascript·vue.js·前端框架·axios
xuxie992 小时前
N11 ARM-irq
java·开发语言
wefly20173 小时前
从使用到原理,深度解析m3u8live.cn—— 基于 HLS.js 的 M3U8 在线播放器实现
java·开发语言·前端·javascript·ecmascript·php·m3u8
luanma1509803 小时前
PHP vs C++:编程语言终极对决
开发语言·c++·php
寂静or沉默3 小时前
2026最新Java岗位从P5-P7的成长面试进阶资源分享!
java·开发语言·面试
liwenzhuola4 小时前
解决 Ubuntu 上 Qt Creator 项目编译失败的问题
数据库·qt·ubuntu
kyriewen114 小时前
给浏览器画个圈:CSS contain 如何让页面从“卡成PPT”变“丝滑如德芙”
开发语言·前端·javascript·css·chrome·typescript·ecmascript
娇娇yyyyyy4 小时前
QT编程(18): Qt QItemSelectionModel介绍
开发语言·qt
豆豆的java之旅5 小时前
软考中级软件设计师 数据结构详细知识点(含真题+练习题,可直接复习)
java·开发语言·数据结构