0

(インターネットブラウザのように)他のタブを追加するために使用される特別な「+」タブに特別な名前があるかどうか、私はいつも疑問に思っていました。

また、Notebook / TabWidgetにその機能が組み込まれている人気のあるフレームワーク(Qt、wxWidgetsなど)はありますか?

編集:実装が簡単なのに、なぜそのような機能が存在するのかという質問もありました。答えは簡単です。広く使用されているすべての機能は、専用のコンポーネントに値します。従来のタブウィジェットに実装するのは簡単かもしれませんが、タブを移動できる場合(この特別なタブは常に最後である必要があります)、またはタブを選択せず​​に閉じることができる場合(一部のタブウィジェットには、すべてのタブのタブを閉じるための十字があります)。さまざまなフレームワークを考慮すると、実装が簡単または難しい場合があります。したがって、この機能が、専用の名前といくつかのフレームワークでのいくつかの「組み込み」実装を持つのに十分な標準であるかどうかを知るためのこの質問:)

4

2 に答える 2

2

WPF、Winform、およびQtの現在のバージョンに関しては、そのような機能を備えたタブコントロールはありませんが、簡単に追加できます。WPFWinformの同様の例については、リンクを確認してください。

于 2013-02-07T21:22:57.850 に答える
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 に答える