如何防止QListView在启动时获取所有图标?

时间:2017-07-23 14:25:52

标签: c++ qt

我使用QListView来自QStringListModel的自定义模型来显示大量图像,或者更具体地说,是数据曲线。我曾经使用QListWidget,但我有很多这样的设置所有项目的图标(相当高的res)只占用所有内存,并导致很长的启动时间。我认为使用自定义模型切换到QListView可以解决问题(并且确实解决了内存问题),但不是很长的启动时间,因为QListView在启动时请求了所有图标(我只看到终端上的名字就看到了。

你有办法解决这个问题吗?我现在能想到的最好的方法是让一个缩略图线程在它变得太大时会破坏它的队列,但这看起来非常麻烦。

1 个答案:

答案 0 :(得分:0)

事实证明,就我而言,它很简单:

list->setUniformItemSizes(true);

这样,QListView不必查看所有图标来了解它们的大小。