2

我想使用 QWebView 中的 QString 渲染 html

QWebView::setHtml( QString, QUrl );

应从临时目录 c:/temp 加载图像。在 html 代码中,图像仅由文件名引用,没有路径,例如

<img src="myimage.png">

我将此路径作为带有 setHtml 的第二个参数的 baseUrl 提供,但未渲染图像。我试图用完整路径引用图像:

<img src="c:/temp/myimage.png">

它工作正常 - 显示图像。

我检查了网址是否有效:

QUrl base = QUrl::fromUserInput("c:/temp");
    if (!base.isValid())
        return false;

并且 URL 被报告为有效。我在这里做错了什么?

我正在使用 Qt 4.8.4 在 Windows 上工作

感谢您的任何提示!

4

1 回答 1

3

解决了!右键单击 QWebView 中缺少的图像符号,该图像的地址不是 我预期的 c: /temp/myimage.png而是c:/myimage.png。我尝试将 baseUrl 设置为c:/temp/。现在一切正常!

看起来 QWebView 将 baseUrl 解释为 html 文件,相对于图像所在的位置。在我看来,QWebView::setHtml源来自字符串的位置没有意义,实际上没有 html 文件,只有基本目录。

于 2013-08-12T21:07:56.327 回答