首先文件->新建文件夹->Application->Qt Widgets Application。命名啥的看自己,也可以跟着我命名,熟悉一下后面的界面切换流程。我这里命名的是MainWindow,基类就是mainwindow类型。
注意,我给代码上了注解,可以自己看注解,实现过程中,遇到难题的,可以留言,看到就回,随缘
1:首先的主界面的头文件代码为:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
2:对应的,主界面的源代码为:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include "submainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//设置一个大小和窗口标题的窗口
this->resize(800,600);
this->setWindowTitle("登录");
//创建一个子窗口
SubMainWindow *s = new SubMainWindow();
//创建一个按钮
QPushButton *btn = new QPushButton("下一页",this);
//监测按钮信号,随时跳转到新窗口
connect(btn,&QPushButton::clicked,[=](){
this->hide();
s->show();
});
//监测窗口s的回退信号
connect(s,&SubMainWindow::back,[=](){
s->hide();
this->show();
});
}
MainWindow::~MainWindow()
{
delete ui;
}
3:子界面的头文件代码(子文件的创建是:新建-》Qt-》Qt 设计师界面类 基类照样可以选择mainwindow类)
#ifndef SUBMAINWINDOW_H
#define SUBMAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class SubMainWindow;
}
class SubMainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit SubMainWindow(QWidget *parent = 0);
~SubMainWindow();
signals:
//创建一个信号
void back();
private:
Ui::SubMainWindow *ui;
};
#endif // SUBMAINWINDOW_H
4:子界面的源代码:
#include "submainwindow.h"
#include "ui_submainwindow.h"
#include <QPushButton>
SubMainWindow::SubMainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::SubMainWindow)
{
ui->setupUi(this);
//建立一个有大小和有标题的子窗口
this->resize(800,600);
this->setWindowTitle("查询");
//建立一个按钮
QPushButton *btn = new QPushButton("back",this);
//监测信号,当按下back信号的时候,会发出一个back信号
connect(btn,&QPushButton::clicked,[=](){
emit this->back();
});
}
SubMainWindow::~SubMainWindow()
{
delete ui;
}
提示:多看多写,理清里面的逻辑关系