在QListview中异步加载QICon

时间:2011-03-22 20:28:38

标签: qt qt4 nokia

我正在使用委托将标准项目模型数据显示到qt中的列表视图中。 该模型具有QIcon以及标题和子标题字符串。

现在我想通过http将远程图像异步加载到listview中。 我怎样才能做到这一点?

我已经运行了listview。

1 个答案:

答案 0 :(得分:1)

有许多不同的方法可以解决您的任务,正确的答案取决于您构建您的ui的方式以及它的用途以及应用程序中其他组件的工作方式。不过,这是一个让你考虑的想法:

  1. 为列表视图创建一个模型,猜测模型的每个项目都应该有一个指向您要下载的图标\ image的链接。

  2. 使用QNetworkAccessManager连接异步通过http下载图片。您可以执行以下操作的示例:qt networkManager get

  3. 下载图像后,将调用网络管理器的“finished”信号处理程序,您需要使用指向图像对象的指针更新模型中与下载链接对应的记录。 / p>

  4. 对于列表,您可以使用item delegate为尚未下载图标的记录绘制空占位符(或只是默认图像);

  5. 确保您正在同步模型(QMutex QSemaphore QWaitCondition

  6. 希望这有帮助,尊重