如果从qresources加载html文件,QWebView不会加载任何外部资源

dom*_*ine 6 javascript c++ qt qwebview qwebkit

正如标题中所描述的,我的问题是qwebview如果它位于我的资源中,则不会正确加载html文件.如果我从资源外部加载它作为普通的本地文件,它会完美地加载它.但这对我来说不是一个选择.我想将文件与应用程序捆绑在一起.

编辑:顺便说一下,我正在谈论网络上的外部资源.(例如http://host.org/somejavascript.js)感谢您的帮助

Pio*_*ost 5

请看一下
void QWebView::setHtml ( const QString & html, const QUrl & baseUrl = QUrl() ) 根据文档的第二个参数:

外部对象(如HTML文档中引用的样式表或图像)相对于baseUrl定位.

以下是适合我的代码.

#include <QtCore/QFile>
#include <QtCore/QUrl>
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
#include <QtWebKit/QWebView>


int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QMainWindow window;
    QWebView webview(&window);

    QFile source(":/google.com.html");
    source.open(QIODevice::ReadOnly);
    webview.setHtml(QString::fromUtf8(source.readAll().constData()), QUrl("http://google.com"));
    window.setCentralWidget(&webview);
    window.show();

    return app.exec();
}
Run Code Online (Sandbox Code Playgroud)