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

2024-03-25

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

编辑:顺便说一句,我正在谈论来自网络的外部资源。 (例如。http://host.org/somejavascript.js http://host.org/somejavascript.js) 谢谢你的帮助


请看一下第二个参数
void QWebView::setHtml ( const QString & html, const QUrl & baseUrl = QUrl() )根据文档 http://doc.qt.nokia.com/latest/qwebview.html#setHtml:

外部对象,例如样式表 或 HTML 中引用的图像 文档相对于 基本网址。

下面是适合我的代码。

#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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 QWebView 从 qresources 加载 html 文件,则不会加载任何外部资源 的相关文章

随机推荐