を作成しましたがQTabWidget
、シグナルがトリガーされると、そのタブ数が動的に変化します。次のようなタブを追加しました:
QWidget *centralWidget = new QWidget();
ui->tabWidget->addTab(centralWidget, "tab header");
今ではすべて問題ありませんが、問題はこれらのタブにボタンを追加したいということです。それを行う方法はありますか?
を作成しましたがQTabWidget
、シグナルがトリガーされると、そのタブ数が動的に変化します。次のようなタブを追加しました:
QWidget *centralWidget = new QWidget();
ui->tabWidget->addTab(centralWidget, "tab header");
今ではすべて問題ありませんが、問題はこれらのタブにボタンを追加したいということです。それを行う方法はありますか?
任意のサブクラスを中央ウィジェットとして設定するか、任意の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" );