如何将滚动条添加到父QWidget

时间:2010-08-02 05:02:16

标签: qt qtabwidget qscrollarea

我了解如何将scrollArea添加到特定小部件。但是在我的情况下,Qwidget有多个子窗口小部件,这些都是使用QVBoxLayout设置的。现在如何在这种情况下添加滚动条?这里QWidget不是中心小部件,它是TabWidget的一个页面。我的代码如下:

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);

然而,这不起作用。

任何想法/建议都有帮助和赞赏。

2 个答案:

答案 0 :(得分:2)

您是否尝试使用QScrollArea作为标签页?

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

xTab = new QScrollArea; 
formLayout = new QFormLayout; formLay....
xTab->setLayout(formLayout);
center->addTab(xTab, "XXX Tab");

答案 1 :(得分:0)

我使用以下方法取得了成功:

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

QScrollArea定义可滚动小部件的显示位置。如果parent为0,则它​​是非模态窗口。 setGeometry将QScrollArea实例设置为所需的维度(选项卡的维度)。 setWidget定义QScrollArea实际滚动的小部件。