当前位置:编程学习 > wap >>

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

情况描述:scrollArea上自上而下有十几个label(label0~label20),屏幕只能显示8个,
需要实现的功能:向下拖拽到最后,屏幕上能显示label16~label20 + label0~label3。这样就会感觉scrollArea是一个圆柱一样,能首位相连。 --------------------编程问答-------------------- 与楼主同等 --------------------编程问答-------------------- 一个简单的实现思路如下:
在scrollArea中放置28个(假设实际一共有20个Label,显示区域可以看到8个),其中,后8个的text依次和前8个相同,这样,滚动到下面但还没有到最下面的时候,就会给人以错觉,好象回到了开头。而到真正的最后(后8个全部显示出来以后),再滚动时,通过代码滚动到真正的前面(比如,3~10)。反向滚动到头时,也需要特殊处理。

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

没有具体实现,只能可能的思路,不知实现时会遇到什么问题。希望看到更好的解决方法。 --------------------编程问答-------------------- 楼主的这个想法可以给了我如何实现图片浏览的灵感,谢谢 --------------------编程问答-------------------- 楼主能不能分享一下如何在scrollArea中显示有限个不循环的Label的具体方法 --------------------编程问答--------------------
引用 4 楼 goalfree 的回复:
楼主能不能分享一下如何在scrollArea中显示有限个不循环的Label的具体方法

这个。。。在scrollarea区域内放几个控件不就行了啊。用Qt设计器直接拖拖就行了。 --------------------编程问答-------------------- 帮顶一下,待大牛来解 --------------------编程问答-------------------- 我正在设计这个,求交流 --------------------编程问答-------------------- 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);
已经实现,用这个代码就可以了
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,