如何实现Qt中scrollArea区域循环滚动

小城P民 2012-10-14 12:19:47
情况描述:scrollArea上自上而下有十几个label(label0~label20),屏幕只能显示8个,
需要实现的功能:向下拖拽到最后,屏幕上能显示label16~label20 + label0~label3。这样就会感觉scrollArea是一个圆柱一样,能首位相连。
...全文
1929 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
电子科学 2015-05-31
  • 打赏
  • 举报
回复
可以参考QT4GUI编程中的第七章
limilie 2014-09-22
  • 打赏
  • 举报
回复
我也遇到相似的问题,解决方法:使用designer设计工具,在设计模式下,拖一个scrollArea控件到dialog上,选中scrollArea ,在qt窗口的右上角“对象、类”视图下点击scrollArea 的widget,设置widget的最小值大于scrollArea 的可视区域,就会自动出现滚动条
xia0816 2013-09-10
  • 打赏
  • 举报
回复
QScrollArea *scrollArea = new QScrollArea; QTextEdit *edit = new QTextEdit; scrollArea->setWidget(edit); scrollArea->setWidgetResizable(true); scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn); scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); window->addWidget(scrollArea,4,0,2,4); 已经实现,用这个代码就可以了
xia0816 2013-09-10
  • 打赏
  • 举报
回复
我正在设计这个,求交流
javamy015 2013-09-07
  • 打赏
  • 举报
回复
帮顶一下,待大牛来解
小城P民 2013-04-08
  • 打赏
  • 举报
回复
引用 4 楼 goalfree 的回复:
楼主能不能分享一下如何在scrollArea中显示有限个不循环的Label的具体方法
这个。。。在scrollarea区域内放几个控件不就行了啊。用Qt设计器直接拖拖就行了。
goalfree 2013-03-22
  • 打赏
  • 举报
回复
楼主能不能分享一下如何在scrollArea中显示有限个不循环的Label的具体方法
goalfree 2013-03-22
  • 打赏
  • 举报
回复
楼主的这个想法可以给了我如何实现图片浏览的灵感,谢谢
snowfield 2012-10-14
  • 打赏
  • 举报
回复
一个简单的实现思路如下:
在scrollArea中放置28个(假设实际一共有20个Label,显示区域可以看到8个),其中,后8个的text依次和前8个相同,这样,滚动到下面但还没有到最下面的时候,就会给人以错觉,好象回到了开头。而到真正的最后(后8个全部显示出来以后),再滚动时,通过代码滚动到真正的前面(比如,3~10)。反向滚动到头时,也需要特殊处理。

另一个实现思路,就是在向上滚动时,动态将上面的Label移动到下面;反之亦然。

没有具体实现,只能可能的思路,不知实现时会遇到什么问题。希望看到更好的解决方法。
  • 打赏
  • 举报
回复
与楼主同等

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧