我正在 Qt 中制作一个 GUI 程序。
我有一个选项卡,在该选项卡中有一个按钮,我想要的是当单击该按钮时,它应该在同一个小部件中打开一个选项卡并且它应该是可关闭的。我怎样才能做到这一点?一个示例代码会很好。
谢谢
我不完全理解这个问题,但这是我回答它的最佳尝试。我想你用QTabWidget
你的标签。您可以添加一个小部件并通过以下代码选择它:
QWidget* widget;
int index = ui->tabWidget->addTab(widget, "Description");
ui->tabWidget->setCurrentIndex(index);
您不能使单个选项卡可关闭,但您可以拦截关闭事件:
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
。