如果不能分开的话,代码是只能写在MainWindow吗?
例如下面的这种,我想要将不同页面分开写,如果全部写在MainWindow代码感觉会很多很杂乱,设计一个process的ui需要怎么添加到不同的页面并且关联起来
主页面里放一个空的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();
}