私は質問を完全には理解していませんが、これが私の最善の回答です。QTabWidget
タブに使用すると思います。ウィジェットを追加して、次のコードで選択できます。
QWidget* widget;
int index = ui->tabWidget->addTab(widget, "Description");
ui->tabWidget->setCurrentIndex(index);
単一のタブを閉じられるようにすることはできませんが、close イベントをインターセプトすることはできます。
ui->tabWidget->setTabsClosable(true);
connect(ui->tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));
そして、次のような不要なクローズ イベントを処理します。
void MainWindow::closeTab(int index)
{
if (index == 0)
{
return; // don't close the first tab
}
QWidget* widget = ui->tabWidget->widget(index);
ui->tabWidget->removeTab(index);
delete widget;
}
編集:
次の方法でタブを挿入できます。
ui->tabWidget->insertTab(index, widget, "Description");
クラスのドキュメントはこちらです。QTabWidget