子页面sub.h
namespace Ui {
class Sub;
}
class MainWindow;
class Sub: public QWidget
{
Q_OBJECT
public:
explicit Sub(MainWindow *win, QWidget *parent = 0);
~Sub();
private:
MainWindow *mainwindow;
friend class MainWindow;//友类
}
子页面Sub.cpp
subWindow::subWindow(MainWindow *win,QWidget *parent) :
QMainWindow(parent),
ui(new Ui::subWindow)
{
mainwindow = win;//子类中调用mainwindow实例
ui->setupUi(this);
}
主页面 mainwindow.h
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
int i;
private slots:
void on_sub_triggered();
private:
Sub *sub = nullptr;
friend class Sub;
};
主页面的槽函数
void MainWindow::on_sub_triggered()
{
sub= new Sub(this);
sub->show();
}
效果是,在主页面点击触发,弹出子页面