将滚动条添加到QDockWidgets区域

时间:2014-02-09 07:28:42

标签: c++ qt

对于我的Qt应用程序,我使用了dock小部件,但是启用了太多的dockwidgets会导致它们从底部的屏幕流出。 如何将滚动条添加到整个dockwidget区域?

以下是一个例子:

停靠小部件的代码:

QDockWidget *imageDock = new QDockWidget(i18n("Image"), this);
imageDock->setObjectName("ImageDock");
ImageChooserWidget *imageChooserWidget = new ImageChooserWidget(this);
imageDock->setWidget(imageChooserWidget);
addDockWidget(Qt::RightDockWidgetArea, imageDock);
m_dockWidgets.append(imageDock);
actionCollection()->addAction("show_image_dock", imageDock->toggleViewAction());
imageDock->setVisible(false);
connect(m_vocabularyView, SIGNAL(translationChanged(KEduVocExpression*, int)),
imageChooserWidget, SLOT(setTranslation(KEduVocExpression*, int)));

我手头还有这个:

setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);

1 个答案:

答案 0 :(得分:2)

创建QScrollArea,将其放入停靠窗口小部件并将内容放入滚动区域。您可能需要致电scrollArea->setWidgetResizable(true)以使其正确调整内容大小。