QT有没有其他方法可以在没有QTNetworkManager的情况下加载图像?

时间:2016-03-24 13:28:43

标签: c++ qt

我正在研究Mapviz的tile_map插件。 Tile-Plugin使用来自服务器的WebRequest加载图像(图块)。由于我已经下载了硬盘上的所有图像,我正在尝试从代码中删除WebRequest - 因此它不会使用网络访问。该插件正在使用QTNetworkAccessManager。替换NetworkAccessManager的推荐方法/方法是什么?

迎接

1 个答案:

答案 0 :(得分:2)

QNetworkAccessManager是通过HTTP访问资源的推荐方式(也是Qt支持的唯一方式)。 API是出于性能原因而制定的,它将隐藏实现细节,节省功耗并允许HTTP中可用的优化类型,而无需执行任何特殊操作。

如果您在本地拥有所有文件,我只需将使用QNAM的代码包装起来,以便查找并优先选择本地副本(可能同时将副本保留在内存中,以提高性能)。所以它会像这样缓存:

memory-copy > disk-copy > network-copy

提示:我发现this PDF非常适合解释如何以最佳方式使用QNAM。