0

我一直想知道用于添加其他选项卡(如在 Internet 浏览器中)的特殊“+”选项卡是否具有特殊名称。

此外,是否有任何流行的框架(Qt、wxWidgets 等)在其 Notebook/TabWidget 中具有内置功能?

编辑:有人问为什么会存在这样的功能,而实现起来很简单。嗯,答案很简单:每个广泛使用的功能都应该有一个专用组件。在经典的选项卡小部件中实现可能很简单,但是当我们可以移动选项卡(这个特殊的应该始终是最后一个)或者可以关闭选项卡而不必选择它们时(在一些选项卡小部件,每个选项卡上都有一个关闭选项卡的叉号)。好吧,考虑到不同的框架,实现起来可能更简单或更难。因此,这个问题是要知道该功能是否足够标准以在某些框架中具有专用名称和一些“内置”实现:)

4

2 回答 2

2

使用 Qt,您可以使用如下代码:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    connect(ui->tabWidget, SIGNAL(currentChanged(int)), this, SLOT(changedTab(int)));
}

void MainWindow::changedTab(int tabId) {
    if (tabId == ui->tabWidget->count() - 1) {
        QWidget *newTab = new QWidget;
        ui->tabWidget->insertTab(tabId, newTab, "new label");
        ui->tabWidget->setCurrentIndex(tabId);
    }
}

对于关闭选项卡,请参阅 setTabsClosable()

于 2013-02-07T22:07:19.847 回答
2

对于当前版本的 WPF、Winform 和 Qt,没有任何选项卡控件具有此功能,但可以轻松添加。检查WPFWinform中类似示例的链接。

于 2013-02-07T21:22:57.850 回答