我想要开发一个使用Qt框架的图像库应用程序。该应用程序加载所选文件夹中的所有图像,并使用QListView控件显示这些图像。 但现在我想通过加载只有用户可见的图像来减少内存消耗。由于没有直接的功能来获得视图中所有可见的项目,我无法实现这一点。简单的方法来获取QListView中的所有可见项目
2
A
回答
4
您可以使用indexAt
函数获取列表视图中的可见项。欲了解更多详情,您可以查看下面的文章为例:
http://qt-project.org/faq/answer/how_can_i_get_hold_of_all_of_the_visible_items_in_my_qlistview
0
我想你需要的是实现自己的模型(看看到QAbstractListModel文档),这样的方式,你可以决定你的时候必须加载更多的图像才能显示,并且可能会释放一些不可见的图像。
1
我发现它!你必须在listwidget的垂直滚动条连接到一个信号:
connect(ui->listWidget->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(launch_timer()));
每当用户滚动,被省略的valueChanged(INT)信号!问题在于,每当listwidget的垂直滚动条的值发生变化时,您都不应该在此问题中运行webclectic提供的代码,因为程序在没有多少代码的情况下运行时间会变得无法响应。
所以,你必须有单点定时器,并指向webclectic上面发布的函数。当launch_timer()被调用时,你做这样的事情:
if(timer->isActive()){
timer->stop();
timer->start(300);
}
else
timer->start(300);
和定时器超时()信号将被连接到槽webclectic津津乐道。这样,如果用户快速滚动,只有最后一个项目会被更新。一般来说,它将被更新任何可见的超过300毫秒!
相关问题
- 1. 如何获取Qlistview中的Checked项目?
- 2. 最简单的方法来获取所有数据从ravendb
- 3. ListBox ...获取UI中可见的所有子项目? wpf
- 4. 有一个简单的方法来获取特定项目的坐标在checkedlistbox?
- 5. 简单的方法来获取角度
- 6. 有没有简单的方法来获取li:gt(-1)在jquery中?
- 7. 有没有简单的方法来确保我的项目中的所有文件都存在许可证块?
- 8. 有没有简单的方法来获取日期?
- 9. 在线获取GWT项目(使用RPC)的最简单方法?
- 10. Magento SQL查询:获取“单独不可见”的所有简单产品
- 11. 拉力赛:有没有简单的方法来获得投资组合项目下的所有用户故事?
- 12. 无法获取Magento中的所有订单项目?
- 13. 有没有简单的方法来重新排列ListView中的项目
- 14. Android:有没有一种简单的方法来查找我的项目中的所有字符串?
- 15. 简单的方法来检查项目是否在列表中?
- 16. 在rally API中获取投资组合项目的所有用户素材最简单的方法是什么?
- 17. 简单的方法来获取Java中的包装类类型
- 18. 有没有简单的方法从数组中删除项目?
- 19. 有没有一种简单的方法来获取URL中的URL
- 20. 有没有一种简单的方法来获取Symfony中的ServerName?
- 21. 有没有一些简单的方法来获取API V3中的map.fromLatLngToDivPixel?
- 22. 获取项目中的所有注释?
- 23. 获取ArrayAdapter中的所有项目
- 24. 简单的方法来获得在C#中的所有枚举值
- 25. 在一个项目的HashMap中获取Value的最简单方法是什么?
- 26. Python简单的方法来读取py模块中的所有导入语句
- 27. 在Eclipse Java项目中使用main方法获取所有类
- 28. Rails从所有订单中获取所有项目
- 29. 有没有简单的方法来寻找小型的开源项目?
- 30. Android有没有简单的方法来备份你的android项目?