在scrollarea中的QWidget

时间:2014-07-24 18:09:30

标签: c++ qt

我有一个QWidget我想要包含在滚动区域内,这样当垂直超出指定的QWidget大小时,用户可以向上和向下滚动以查看更多内容。

QWidget renameWidget;
QScrollArea scrollarea.

我该怎么做呢?我在UI编辑器的滚动区域内设置了小部件,但它没有工作。

有什么想法吗? 感谢。

2 个答案:

答案 0 :(得分:0)

QScrollArea视为另一种布局。将滚动区域添加到主窗口小部件,并使用setWidget()将其他所有内容放入其中。

QScrollAreaQWidget,因此您甚至可以将其用作顶级窗口小部件:

QScrollArea *scrollArea = new QScrollArea();
scrollArea->resize(250, 250);

QWidget *widget = new QWidget(scrollArea);
widget->setBackgroundRole(QPalette::Dark);
widget->resize(200, 200);

scrollArea->setWidget(widget);
scrollArea->show();

答案 1 :(得分:0)

QScrollArea提供了另一个小部件的滚动视图。它用于显示框架内子窗口小部件的内容。如果窗口小部件超出框架的大小,则视图可以提供滚动条,以便可以查看子窗口小部件的整个区域。

一个例子:

QScrollArea *scrollArea = new QScrollArea(this);
scrollArea->setBackgroundRole(QPalette::Dark);
scrollArea->setWidget(renameWidget);