正如标题中所述,我的问题是 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(使用前将#替换为@)