我已经实现了带有项目模型的
QListView
。一切都很顺利,直到我有超过 1000 个数据时,情况就不顺利了。
第一次加载速度很慢。在我检查模型后,实际上 QListView 从第一次加载所有内容,而不是仅加载显示的内容。 我已经将布局模式设置为批处理并将批量大小设置为 100。但似乎不起作用,它仍然从第一个加载所有数据。 有什么我可以优化它的东西,比如延迟加载(仅加载列表视图中可见的内容)?
更新: 数据从 SQLITE 加载,图标直接从 HDD 加载。对于图标,我在加载后就将其缓存了。
另一个问题是:是否可以使其加载卸载?我的应用程序现在有大约 100Mb 的 RAM,因为需要加载 QListView 上使用的大量图像。并且可能会增加,因为今天图像尚未完成。
我想我可以在这里做出贡献!
也许你需要的是
listView->setUniformItemSizes(true)
(设置为true时,QListView不需要预加载所有项目来规划滚动条大小和位置等)