dom*_*ine 6 javascript c++ qt qwebview qwebkit
正如标题中所描述的,我的问题是qwebview如果它位于我的资源中,则不会正确加载html文件.如果我从资源外部加载它作为普通的本地文件,它会完美地加载它.但这对我来说不是一个选择.我想将文件与应用程序捆绑在一起.
编辑:顺便说一下,我正在谈论网络上的外部资源.(例如http://host.org/somejavascript.js)感谢您的帮助
请看一下
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)