2016-04-07 13 views
1

メッセージの内容を表示するために、コード内にUIフォームを自動生成する必要があります。 QToolboxを使用して、メッセージタイプごとに項目を付けたい。次に、メッセージプロトコルに応じて、各タブの内容にラベルと行の編集を追加します。私はprogramaticalyツールボックスの項目にウィジェットの項目を追加するように見えることはできません。QToolboxアイテムにウィジェットを追加する方法

以下は私の現在のコードセグメントです。 ui->フレームはツールボックスの単なるコンテナです。後でレイアウトについて心配します。

私のコードでは、フレームを作成し、そのフレームに親が設定されたラベルを作成します。次に、フレームをアイテムとしてツールボックスに追加します。

QToolBox *qtbMainToolbox = new QToolBox(ui->frame);; 
qtbMainToolbox->setGeometry(0,0,2000,900); 
QFrame *frm1 = new QFrame; 
QLabel *lbl1 = new QLabel(frm1); 
QLabel *lbl2 = new QLabel(frm1); 
QLabel *lbl3 = new QLabel(frm1); 
QLabel *lbl4 = new QLabel(frm1); 
iRetVal - qtbMainToolbox->addItem(frm1 ,"Test"); 
+0

そして、上記のコードの問題は何ですか? – Apin

+0

良い質問です。 ;>)、ラベルはフォームに表示されません(ツールボックスフレームの "テスト"部分)。 – Mikkie

+1

ラベルにテキストを設定していないため、ラベルは表示されませんか? もう一つは、親ラベルのラベルを作成するのではなく、フレームにレイアウトを設定する必要があるということです。 – Apin

答えて

1

ウィジェットに表示される要素はありません。アイコンまたは任意のテキスト。

QLabelにアイコンまたはテキストを設定する必要があります。

QToolBox *qtbMainToolbox = new QToolBox(ui->frame);; 
qtbMainToolbox->setGeometry(0,0,2000,900); 
QFrame *frm1 = new QFrame; 
QLabel *lbl1 = new QLabel("Hello World",frm1); 
iRetVal - qtbMainToolbox->addItem(frm1 ,"Test"); 

上記のコードを試してください。

関連する問題