autoLayout.h文件
#ifndef AUTOLAYOUT_H
#define AUTOLAYOUT_H
#include <QMainWindow>
#include "window1.h"
#include "window2.h"
#include "window3.h"
namespace Ui {
class AutoLayout;
}
class AutoLayout : public QMainWindow
{
Q_OBJECT
public:
explicit AutoLayout(QWidget *parent = 0);
void ChooseWidgets();
int firstIndex = NULL;
~AutoLayout();
private:
Ui::AutoLayout *ui;
window1 * W1;
window2 * W2;
window3 * W3;
};
#endif // AUTOLAYOUT_H
autoLayout.cpp文件
#include "autolayout.h"
#include "ui_autolayout.h"
#include <QToolBar>
#include <QDebug>
AutoLayout::AutoLayout(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::AutoLayout)
{
ui->setupUi(this);
window1 *W1 = new window1(this);
window2 *W2 = new window2(this);
window3 *W3 = new window3(this);
ui->stackedWidget->addWidget(W1);
ui->stackedWidget->addWidget(W2);
ui->stackedWidget->addWidget(W3);
ui->stackedWidget->setCurrentWidget(W1);
//获取当前页面的序号
firstIndex = ui->stackedWidget->currentIndex();
QAction* newItemToolBar = new QAction(tr("界面1"),this);
QAction* newItemToolBar2 = new QAction(tr("界面2"),this);
QAction* newItemToolBar3 = new QAction(tr("界面3"),this);
ui->toolBar->addAction(newItemToolBar);
ui->toolBar->addSeparator(); // 添加分割线
ui->toolBar->addAction(newItemToolBar2);
ui->toolBar->addSeparator();
ui->toolBar->addAction(newItemToolBar3);
connect(newItemToolBar, &QAction::triggered, this, [=](){
ui->stackedWidget->setCurrentIndex(2);
});
connect(newItemToolBar2, &QAction::triggered, this, [=](){
ui->stackedWidget->setCurrentIndex(3);
});
connect(newItemToolBar3, &QAction::triggered, this, [=](){
ui->stackedWidget->setCurrentIndex(4);
});
}
AutoLayout::~AutoLayout()
{
delete ui;
}
window1文件
window2文件
window3文件