0

我正在 Qt 中制作一个 GUI 程序。

我有一个选项卡,在该选项卡中有一个按钮,我想要的是当单击该按钮时,它应该在同一个小部件中打开一个选项卡并且它应该是可关闭的。我怎样才能做到这一点?一个示例代码会很好。

谢谢

4

1 回答 1

2

我不完全理解这个问题,但这是我回答它的最佳尝试。我想你用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

于 2012-08-29T10:40:28.517 回答