我正在使用委托将标准项目模型数据显示到qt中的列表视图中。 该模型具有QIcon以及标题和子标题字符串。
现在我想通过http将远程图像异步加载到listview中。 我怎样才能做到这一点?
我已经运行了listview。
答案 0 :(得分:1)
有许多不同的方法可以解决您的任务,正确的答案取决于您构建您的ui的方式以及它的用途以及应用程序中其他组件的工作方式。不过,这是一个让你考虑的想法:
为列表视图创建一个模型,猜测模型的每个项目都应该有一个指向您要下载的图标\ image的链接。
使用QNetworkAccessManager连接异步通过http下载图片。您可以执行以下操作的示例:qt networkManager get
下载图像后,将调用网络管理器的“finished”信号处理程序,您需要使用指向图像对象的指针更新模型中与下载链接对应的记录。 / p>
对于列表,您可以使用item delegate为尚未下载图标的记录绘制空占位符(或只是默认图像);
确保您正在同步模型(QMutex QSemaphore QWaitCondition)
希望这有帮助,尊重