【发布时间】:2014-10-16 13:04:56
【问题描述】:
我有一个QWidget,我想将它包含在滚动区域中,这样当垂直方向超过指定的QWidget 大小时,用户可以上下滚动以查看更多内容。
QWidget renameWidget;
QScrollArea scrollarea.
我该怎么做呢?我在 UI 编辑器的滚动区域内设置了小部件,但它不起作用。
有什么想法吗? 谢谢。
【问题讨论】:
我有一个QWidget,我想将它包含在滚动区域中,这样当垂直方向超过指定的QWidget 大小时,用户可以上下滚动以查看更多内容。
QWidget renameWidget;
QScrollArea scrollarea.
我该怎么做呢?我在 UI 编辑器的滚动区域内设置了小部件,但它不起作用。
有什么想法吗? 谢谢。
【问题讨论】:
将QScrollArea 视为另一种布局。将滚动区域添加到您的主窗口小部件,并使用 setWidget() 将其他所有内容放入其中。
QScrollArea 是QWidget,因此您甚至可以将其用作顶级小部件:
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();
【讨论】:
QScrollArea 提供到另一个小部件的滚动视图。它用于在框架内显示子小部件的内容。如果小部件超过框架的大小,视图可以提供滚动条,以便查看子小部件的整个区域。
一个例子:
QScrollArea *scrollArea = new QScrollArea(this);
scrollArea->setBackgroundRole(QPalette::Dark);
scrollArea->setWidget(renameWidget);
【讨论】: