QT作业GUI (二) 创建注册窗口

QT版本5.9.9

目录

QT作业GUI (一) 创建登录框
QT作业GUI (二) 创建注册窗口
QT作业GUI (三) 创建主窗口
QT作业GUI (四) 创建home界面
QT作业GUI (五) 创建editForm界面
QT作业GUI (六) 创建串口调试界面
QT作业GUI (七) 页面展示

1、创建页面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、搭建窗口
在这里插入图片描述
3、添加从登录窗口到注册窗口的关联事件
在这里插入图片描述
在这里插入图片描述
在登录窗口头文件中添加注册类

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include"mymainwindow.h"
#include"registration.h"
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
private slots:
    void on_registerBtn_clicked();
    void registToLogin(); // 展示登录窗口
private:
    Ui::Widget *ui;
    Registration *regist; // 注册页面
};
#endif // WIDGET_H

在登录窗口源文件中添加展示与隐藏

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 固定登录窗口大小
    this->setFixedSize(400,300);
    regist = new Registration; // 创建注册页面
    // 设置左上角图标
    this->setWindowIcon(QIcon(":/images/res/BitMap/key2.bmp"));
    // 监听注册页面返回信息
    connect(regist, &Registration::registToLogin, this, &Widget::registToLogin);
}
Widget::~Widget()
{
    delete ui;
}
void Widget::on_registerBtn_clicked()
{
    this->hide();
    regist->show();
}
void Widget::registToLogin()
{
    regist->hide();
    this->show();
}

registration.h

#ifndef REGISTRATION_H
#define REGISTRATION_H

#include <QWidget>

namespace Ui {
class Registration;
}

class Registration : public QWidget
{
    Q_OBJECT

public:
    explicit Registration(QWidget *parent = nullptr);
    ~Registration();
signals:
    void registToLogin(); // 注册确定或取消返回登录框
private slots:
    void on_surePushButton_clicked();
    void on_cancelPushButton_clicked();
private:
    Ui::Registration *ui;
    QString userName; // 记录用户名
    QString password; // 记录密码
};
#endif // REGISTRATION_H
``
registration.cpp
```cpp
#include "registration.h"
#include "ui_registration.h"

#include <QMessageBox>

Registration::Registration(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Registration)
{
    ui->setupUi(this);
    setWindowTitle("注册"); // 设置窗口名称
    // 设置左上角图标
    this->setWindowIcon(QIcon(":/images/res/BitMap/key1.bmp"));
}
Registration::~Registration()
{
    delete ui;
}
void Registration::on_surePushButton_clicked()
{
    // 校验密码是否一致
    QString pwd = ui->pwdLineEdit->text();
    QString password = ui->passwordLineEdit->text();
    if(pwd != password)
    {
        QMessageBox::warning(this,"警告", "两次输入的密码不一致,请检查!");
        return;
    }
    userName = ui->nameLineEdit->text();
    this->password = pwd;
    // 跳转会登录页
    emit registToLogin();
}
void Registration::on_cancelPushButton_clicked()
{
    // 用户点击取消清空数据并返回
    ui->pwdLineEdit->setText("");
    ui->passwordLineEdit->setText("");
    ui->nameLineEdit->setText("");
    // 跳转会登录页
    emit registToLogin();
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值