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();
}