我正在尝试创建一个“智能”Web浏览器来加载本地图像。基本上它可以作为应用程序的GUI。我使用QTWebKit为浏览器供电,问题是给定页面的图像可以在不同的地方找到,有些是本地文件,有些是在不同的资源文件中。
例如:
加载图像x.jpg的HTML节点看起来像<img src="x.jpg">
,而同一页面上的图像y.gif可以是<img src="y.gif">
,现在x.jpg是一个本地文件,可以在根目录或在其他地方。另一方面,y.gif可以在资源文件中。
我希望网络浏览器首先设置所有可能来源的路径,并在页面加载后或最好在页面加载时搜索图像并从原始路径加载它们。
我考虑了首先读取HTML数据,解析它并逐个搜索资源的选项,然后编辑html以包含图像的完整路径,但这将花费很长时间而不是我想要的是不切实际的。
任何人都可以让我朝着正确的方向前进,或者对于如何实施这样的设计有任何想法。
编辑:我已经设法通过覆盖QNetwrokAccessManager和QNetwrokReply来委托请求,并且能够获得图像的路径。唯一的问题是将图像加载到视图中。我目前正在使用QHttp来处理传入的请求,但到目前为止我还无法加载图像。一直在尝试使用QHttp的Get()函数并将路径传递给jpg图像(file:/// path / to / image),并尝试使用本地路径,但没有任何工作。
答案 0 :(得分:1)
看看How to tell QWebPage not to load specific type of resources?
您需要相同的方法,但不是通过使用空QUrl构造QNetworkRequest来删除请求,而是需要将url传递给磁盘上的文件。