///parent.h
#include <QWidget>
#include "form2.h"
namespace Ui {
class Parent;
}
class Parent : public QWidget
{
Q_OBJECT
public:
explicit Parent(QWidget *parent = 0);
~Parent();
Form2 *f2;
private:
Ui::Parent *ui;
public slots:
void form_show();
void show_();
};
//parent.cpp
#include "parent.h"#include "ui_parent.h"Parent::Parent(QWidget *parent) :QWidget(parent),ui(new Ui::Parent){
ui->setupUi(this);connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(form_show()));}
Parent::~Parent(){
delete ui;}
void Parent::form_show(){
f2=new Form2;f2->show();connect(f2,SIGNAL(testsignal()),this,SLOT(show_()));}
void Parent::show_(){
f2->hide();this->show();}
///Form2.h#include <QWidget>namespace Ui {class Form2;}
class Form2 : public QWidget{
Q_OBJECTpublic:explicit Form2(QWidget *parent = 0);~Form2();Ui::Form2 *ui;private:signals:void testsignal();protected slots:void show_main();};
///Form2.cpp#include "form2.h"#include "ui_form2.h"Form2::Form2(QWidget *parent) :QWidget(parent),ui(new Ui::Form2){
ui->setupUi(this);connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(show_main()));}
Form2::~Form2(){
delete ui;}
void Form2::show_main(){
emit testsignal();}