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

相关推荐
多彩电脑2 分钟前
Kivy如何自定义事件
开发语言·python
java_cj2 分钟前
LangChain初入门 - 简化LLM开发难度的利器
开发语言·python·langchain
sleven fung6 分钟前
llama-cpp-python 本地部署入门
开发语言·python·算法·llama
头歌实践平台8 分钟前
C++面向对象 - 运算符重载的应用
开发语言·c++·算法
福大大架构师每日一题8 分钟前
rust 1.96.0 更新:语言、编译器、Cargo、Rustdoc、兼容性全面升级,必看完整解读
android·开发语言·rust
思麟呀9 分钟前
C++11并发编程:互斥锁
linux·开发语言·c++·windows
郭涤生18 分钟前
C++ 各类数据的内存分区与读写性能详解
开发语言·c++
Pluchon19 分钟前
萌萌技术分享笔记——Java综合项目
java·开发语言·笔记·git·github·mybatis·postman
j_xxx404_20 分钟前
Linux 线程日志系统设计:从策略模式、RAII 到 pthread 线程安全与内核写入路径|附源码
linux·运维·服务器·开发语言·c++·人工智能·策略模式
方也_arkling33 分钟前
【Java-Day13】内部类
java·开发语言