QT的QTabWidget的每个页面怎么才能分开写

QT的QTabWidget的每个页面怎么才能分开写

如果不能分开的话,代码是只能写在MainWindow吗?

例如下面的这种,我想要将不同页面分开写,如果全部写在MainWindow代码感觉会很多很杂乱,设计一个process的ui需要怎么添加到不同的页面并且关联起来

img

img

主页面里放一个空的tabwidget
其他页面分别创建
然后在代码里动态添加其他页面


    BaseParam* baseparam = new BaseParam(this);
    BaseMove* basemove = new BaseMove(this);
    InpMove* inpmove = new InpMove(this);
    BaseIO* baseio = new BaseIO(this);
    StandHome* standhome = new StandHome(this);
    BaseUsing* baseusing = new BaseUsing(this);
    FifoEvent* fifoevent = new FifoEvent(this);

    ui.tabWidget->addTab(baseparam, "页面1");
    ui.tabWidget->addTab(basemove, "页面2");
    ui.tabWidget->addTab(inpmove, "页面3");
    ui.tabWidget->addTab(baseio, "页面4");
    ui.tabWidget->addTab(standhome, "页面5");
    ui.tabWidget->addTab(fifoevent, "页面6");
    ui.tabWidget->addTab(baseusing, "页面7");

“该回答引用ChatGPT”
可参考下面的方法,还请测试代码的可行性:

每个页面可以单独写成一个类,并继承QWidget类,然后通过QTabWidget的addTab方法添加到QTabWidget中。每个页面的代码不一定只能写在MainWindow中,可以写在单独的文件中。

#include <QtWidgets>
#include "tab1.h"
#include "tab2.h"

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
};

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QTabWidget *tabWidget = new QTabWidget;
    tabWidget->addTab(new Tab1, "Tab 1");
    tabWidget->addTab(new Tab2, "Tab 2");
    setCentralWidget(tabWidget);
}

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}