2

を作成しましたがQTabWidget、シグナルがトリガーされると、そのタブ数が動的に変化します。次のようなタブを追加しました:

QWidget *centralWidget = new QWidget();
ui->tabWidget->addTab(centralWidget, "tab header");

今ではすべて問題ありませんが、問題はこれらのタブにボタンを追加したいということです。それを行う方法はありますか?

4

1 に答える 1

1

任意のサブクラスを中央ウィジェットとして設定するか、任意のQWidgetサブクラスを中央ウィジェットに追加できQWidgetます。

たとえば、Qt Designer Form Class(Qt Creator が .cpp、.h、および .ui ファイルで構成されるクラスと呼んでいるもの)を作成するとMyCentralWidget、次のことができます。

#include "MyCentralWidget.h"

// ...

QWidget *centralWidget = new MyCentralWidget();
ui->tabWidget->addTab( centralWidget, "tab header" );

その後、Qt Designer (または Qt Creator) を使用MyCentralWidgetして、任意の方法で設計できます。

もう 1 つの例は、ウィジェットを中央のウィジェット内のレイアウトに追加することです。

#include "MyCentralWidget.h"
#include <QtGui/QGridLayout>

// ...

QWidget *centralWidget = new QWidget();
centralWidget->setLayout( new QGridLayout() );
centralWidget->layout()->addWidget( new MyCentralWidget() );
ui->tabWidget->addTab( centralWidget, "tab header" );
于 2012-12-18T11:55:27.460 に答える