QML ListView 中model定时刷新问题

iamweirdo 2014-11-04 05:13:45
现有一个项目,需要实时读取数据,显示出来。
我用C++ 写了一个Model , 定时读取数据、刷新,让后将这个Model注册进QML,在QML中通过ListView显示。
现在的问题是,Model每次刷新数据后,ListView显示的部分都会跳转回第一行。
请大神帮忙
...全文
989 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
iamweirdo 2014-11-05
  • 打赏
  • 举报
回复
Model为从 QAbstractListModel 继承的类, 通过 qmlRegisterType<YCRealTimeDataModel>("my.QML.Model", 1, 0, "YCRealTimeDataModel") 注册 今天我通过 Timer中这么调用能实现, onTriggered: { currentPos = ycRealTimeDataList.indexAt(ycRealTimeDataList.contentX, ycRealTimeDataList.contentY) ycRealTimeDataModel.queryData() //Model定时1S中查询服务器中的数据 ycRealTimeDataList.positionViewAtIndex(currentPos, ListView.Beginning) } 但是还有一个问题就是当 ListView 中下拉到某一行的一半时,会有上下弹动的卡瑟情况,有办法
foruok 2014-11-04
  • 打赏
  • 举报
回复
要看你怎么刷新的,贴代码出来。
iamweirdo 2014-11-04
  • 打赏
  • 举报
回复
程序刚运行如下图,已经读取到了数据


然后我将ListView下拉到一定位置


之后Model刷新了数据,ListView又回到了第一行

16,817

社区成员

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

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