QT 没有 QTNetworkManager 是不是有另一种加载图像的方法?

Posted

技术标签:

【中文标题】QT 没有 QTNetworkManager 是不是有另一种加载图像的方法?【英文标题】:QT Is there another way to load images without QTNetworkManager?QT 没有 QTNetworkManager 是否有另一种加载图像的方法? 【发布时间】:2016-03-24 13:28:42 【问题描述】:

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

问候

【问题讨论】:

【参考方案1】:

QNetworkAccessManager 是通过 HTTP 访问资源的推荐方式(据我所知,这是 Qt 支持的唯一方式)。出于性能原因,API 的制作方式是这样的,它将隐藏实现细节、节省电力并允许 HTTP 中可用的那种优化,而无需您做任何特别的事情。

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

memory-copy > disk-copy > network-copy

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

【讨论】:

以上是关于QT 没有 QTNetworkManager 是不是有另一种加载图像的方法?的主要内容,如果未能解决你的问题,请参考以下文章

检测视频是不是在 C++ 中没有音频,最好使用 Qt Phonon

如果用户没有响应,qt 中是不是有任何 api 或方法可以在特定时间后将设备置于睡眠模式?

如何在 Qt5 中检查 url 是不是可用?

Qt 中的 textEdit 类是不是有 on change 属性?

Qt 模型/视图编程设计模式是不是受限?

确定 Qt App 是不是有 UI