QWebview - setBaseUrl不起作用

时间:2013-08-12 20:25:56

标签: qt4 qtwebkit

我想使用

从QWebView中的QString渲染html
QWebView::setHtml( QString, QUrl );

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

<img src="myimage.png">

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

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

并且工作正常 - 显示图像。

我已经检查过该网址是否有效:

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

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

我在Windows上工作,使用Qt 4.8.4

感谢任何提示!

1 个答案:

答案 0 :(得分:3)

解决! 右键单击QWebView中丢失的图像符号辱骂,图像没有地址 c:/temp/myimage.png 正如我所料,但 c:/myimage.png 。我试图将baseUrl设置为 c:/ temp /.,现在一切正常!

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