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

相关推荐
W.A委员会17 小时前
JS原型链详解
开发语言·javascript·原型模式
止语Lab17 小时前
Go并发编程实战:Channel 还是 Mutex?一个场景驱动的选择框架
开发语言·后端·golang
她说彩礼65万18 小时前
C# 实现简单的日志打印
开发语言·javascript·c#
绿浪198418 小时前
c# 中结构体 的定义字符串字段(性能优化)
开发语言·c#
房开民18 小时前
可变参数模板
java·开发语言·算法
Drone_xjw18 小时前
一次 Qt 程序在 Kylin 系统下表头“白屏”的排查之旅
qt·kylin·一次
t***54418 小时前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++
Victoria.a19 小时前
python基础语法
开发语言·python
xiaoyaohou1120 小时前
023、数据增强改进(二):自适应数据增强与AutoAugment策略
开发语言·python
鬼圣20 小时前
Python 上下文管理器
开发语言·python