Qt滚动区域QScrollArea

一、前言

在软件开发中,软件中经常有些区域是动态布局的,这就让你很难预测该区域的大小,在布局时就不能将其大小固定死,滚动区域就发挥了很大的用处,使用滚动区域,就算动态布局,也可以可大可小。


二、效果展示

请添加图片描述


三、详解

QScrollArea实际是一个嵌套容器,它由两部分组成:scrollArea、scrollAreaWidgetContents;

  • scrollArea是滚动区域;
  • scrollAreaWidgetContents是内部容器;
  • 当QScrollArea的尺寸 < 内部容器的尺寸时,就会出现滚动条(横纵都适用);
  • 使用ui edit拖拽一个QScrollArea时,会自动new一个内部容器,但是使用代码生成QScrollArea时,一定要自己设置内部容器;
  • 设置内部容器使用setWidget(QWidget*)接口;
  • Tips:设置内部容器,最好在内部容器部件已经布局好之后,最好将其附到滚动区域里去(官方文档建议);

四、示例代码

QScrollArea* scrollArea = new QScrollArea(this);

QWidget* scrollWidget = new QWidget(this);
QVBoxLayout* layout_scrollWidget = new QVBoxLayout(scrollWidget);
layout_scrollWidget->setMargins(0);
layout_scrollWidget->setSpacing(0);

...
layout_scrollWidget->addWidget(xxx);
...

scrollArea->setWidget(scrollWidget);       //给ScrollArea添加内部部件
scrollArea->setWidgetResizable(true);			//自动调整大小
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贝勒里恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值