关于Qt中的QScrollArea滚动条无法显示问题解决

本文详细介绍了在Qt项目中使用QScrollArea组件时遇到的问题及解决方法,特别是如何通过调整内部QWidget大小来确保滚动条正常显示,以及在代码中布局多个Widget的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

再做Qt项目中,一个UI界面需要用到QScrollArea,说白了就是这个界面需要滚动条,但是,当我把QScrollArea里面的的控件都布局完成,当然控件的整体高度要大与QScrollArea,但是运行时将多出来的部分直接覆盖,而且还没有滚东条,最后查看UI设计师发现,再UI设计师拖出来一个QScrollArea会自动生成一个QWidget(scrollAreaWidgetContents),但是再UI设计师中不能设置自动widget的大小,只要再代码中设置的他的大小大于QScrollArea就可以完成显示滚动条功能。

利用该接口设置大小:

setGeometry(x,y, ui.scrollarea->width(), ui.scrollarea->height() + 任意大于1的数);


如果再代码设置:

QVBoxLayout *scrollLayout = new QVBoxLayout;
scrollLayout->addWidget(imagingShow);   //向布局加入Widget
scrollLayout->addWidget(arc_panel);        //向布局加入Widget
scrollLayout->addWidget(nerve_panel);    //向布局加入Widget
scrollLayout->addWidget(implant_panel);    //向布局加入Widget
scrollLayout->setMargin(0);
scrollLayout->setSpacing(0);

QWidget *pWidget = new QWidget();        //创建一个widget
pWidget->setLayout(scrollLayout);        //将布局放进去

QScrollArea *scrollArea = new QScrollArea(this);    //创建一个scrollArea
scrollArea->setWidget(pWidget);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Pailugou

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

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

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

打赏作者

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

抵扣说明:

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

余额充值