0

うまくいけば、非常に簡単な質問です。私の関数の1つで、実行時にQTabWidgetの「x」個のタブを生成したいと思います(「x」はユーザーによって提供されます)。QTabWidgetにaddTab関数を使用する必要があることは知っていますが(間違っている場合は修正してください)、どのように使用するのかわかりません。qtのドキュメントは私にはわかりませんでした。

次のコマンドをテストとして1つのタブのみを追加しようとしましたが、プログラムがクラッシュしました。

ui->checkBoxTabArea->addTab(ui->checkBoxTabArea,"tab2");

私は明らかに間違っているので、誰かがこの関数の使用を手伝ってくれるでしょうか?addTabに間違った引数を渡しているような気がします。

編集:checkBoxTabAreaには、プログラムの起動時にすでに1つのタブがあります(これがヘルプの場合)。

4

1 に答える 1

5

ドキュメントを見ると、addTab関数は次のように言っています。

int QTabWidget :: addTab(QWidget *ページ、const QString&label)

指定されたページとラベルのタブをタブウィジェットに追加し、タブバーにタブのインデックスを返します。

したがって、渡す引数は、タブを追加するTabWidgetではなく、タブとして追加するウィジェットである必要があります。

あなたがすべきことは次のようなものです:

QLabel *myLabel = new QLabel("Hello World", this);
ui->checkBoxTabArea->addTab(myLabel, "My Label Tab");

これにより、myLabelを含むタブウィジェットに単一のタブが追加されます。

于 2011-07-14T20:35:23.223 に答える