rendered paste body#include <QDockWidget>#include <QLabel>#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); ui->dockWidget->setWidget(new QLabel("dock widget 1")); QDockWidget *dw = new QDockWidget; dw->setWidget(new QLabel("dock widget 2")); tabifyDockWidget(ui->dockWidget, dw); connect(ui->tabWidget, SIGNAL(currentChanged(int)), this, SLOT(updateDock(int)));}MainWindow::~MainWindow(){ delete ui;}void MainWindow::changeEvent(QEvent *e){ QMainWindow::changeEvent(e); switch (e->type()) { case QEvent::LanguageChange: ui->retranslateUi(this); break; default: break; }}void MainWindow::updateDock(int index){ if (index == 0) {// ui->dockWidget->activateWindow();// ui->dockWidget->raise();// ui->dockWidget->show();// ui->dockWidget->setVisible(true);// ui->dockWidget->setFocus(Qt::ActiveWindowFocusReason); } else { QList<QDockWidget *> dockList = tabifiedDockWidgets(ui->dockWidget);// dockList.at(index-1)->activateWindow();// ui->dockWidget->raise();// dockList.at(index-1)->show();// dockList.at(index-1)->setVisible(true);// dockList.at(index-1)->setFocus(Qt::ActiveWindowFocusReason); }}