2

scrollArea を特定のウィジェットに追加する方法を理解しています。ただし、私の場合、Qwidget には複数の子ウィジェットがあり、これらはすべて QVBoxLayout を使用して設定されています。この場合、どうすればスクロールバーを追加できますか? ここで QWidget は中央のウィジェットではなく、TabWidget のページの 1 つです。私のコードは次のようになります:

QTabWIdget *center = new QTabWidget; setCentralWIdget(center);

xTab = new QWidget;

formLayout = new QFormLayout; formLayout->addWidget(...); formLayout->addWidget(...); formLayout->addWidget(...); formLayout->addWidget(...);

xTab->setLayout(formLayout);

scrollBar を xTab に設定するにはどうすればよいですか? 使ってみた

scrollArea = new QScrollArea;
scrollArea->setWidget(xTab);

ただし、これは機能していません。

どんなアイデア/提案も役に立ち、感謝しています。

4

2 に答える 2

2

QScrollAreaタブページとして使ってみましたか?

QTabWIdget *center = new QTabWidget; setCentralWIdget(center);

xTab = new QScrollArea; 
formLayout = new QFormLayout; formLay....
xTab->setLayout(formLayout);
center->addTab(xTab, "XXX Tab");
于 2010-08-04T11:58:29.957 に答える
0

私は以下を使用して成功しました:

scroll=new QScrollArea(mainWindow->centralWidget);
scroll->setGeometry(mainWindow->tabWidget->geometry());
scroll->setWidget(mainWindow->tabWidget);
scroll->show();

QScrollArea は、スクロール可能なウィジェットが表示される場所を定義します。親が 0 の場合、非モーダル ウィンドウです。setGeometry は、QScrollArea インスタンスを目的のサイズ (タブのサイズ) に設定します。setWidget は、QScrollArea が実際にスクロールするウィジェットを定義します。

于 2013-05-29T10:43:29.403 に答える