赞
踩
一、首先我们创建的工程如下:
1、实现的效果是
2、首先实现完之后如下: 开始进来的子页面如下:
3、点击按钮转到主页面之后如下:同时主页面也能继续回到子页面中
主要代码如下:
Form.h中:
- #ifndef FORM_H
- #define FORM_H
-
- #include <QWidget>
- #include "mainwindow.h"
-
- namespace Ui {
- class Form;
- }
-
- class Form : public QWidget
- {
- Q_OBJECT
-
- public:
- explicit Form(QWidget *parent = 0);
- ~Form();
- signals:
- void signal_Test();
-
- private slots:
- void on_pushButton_clicked();
- void slot_ui_switch();
-
-
- private:
- Ui::Form *ui;
- MainWindow *mainwindow;
- };
-
- #endif // FORM_H
form.cpp中:
- #include "form.h"
- #include "ui_form.h"
-
- Form::Form(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::Form)
- {
- ui->setupUi(this);
- mainwindow = new MainWindow;
- //信号和槽函数绑定都在主界面中完成
- connect(mainwindow,SIGNAL(signal_ui_switch()),this,SLOT(slot_ui_switch()));
- connect(this,SIGNAL(signal_Test()),mainwindow,SLOT(slot_slot_Test()));
- connect(mainwindow,SIGNAL(signal_ipdisconnect()),this,SLOT(slot_ipdisconnect()));
- }
-
- Form::~Form()
- {
- delete ui;
- }
-
- void Form::on_pushButton_clicked()
- {
- emit signal_Test();
- this->hide();
- mainwindow->show();
- }
-
- void Form::slot_ui_switch()
- {
- mainwindow->hide();
- this->show();
- }
在form.UI中:
在mainwindow.h中:
- #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();
-
- signals:
- void signal_ui_switch();
- void signal_ipdisconnect();
-
- private slots:
- void on_pushButton_clicked();
- void slot_slot_Test();
- private:
- Ui::MainWindow *ui;
- };
-
- #endif // MAINWINDOW_H
在mainwindow.cpp中:
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <QDebug>
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- }
-
- MainWindow::~MainWindow()
- {
- delete ui;
- }
-
- void MainWindow::on_pushButton_clicked()
- {
- emit signal_ui_switch();
- }
-
- void MainWindow::slot_slot_Test()
- {
- this->show();
- }
在main.cpp中:
- #include "mainwindow.h"
- #include <QApplication>
- #include "form.h"
-
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- //MainWindow w;
- Form w;
- w.show();
-
- return a.exec();
- }
在mainwindow.UI中:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。