我想在QWebView
中加载一种"Web应用程序"。
我的"Web应用程序"由一些带有CSS,Javascript和图片的HTML5页面组成。它是完全自主的。它不需要服务器。
我对Qt编程很陌生。有没有办法将这些文件嵌入到Qt项目中,并在程序启动时将它们加载到QWebView
中?
我已经设法从远程 HTTP 服务器加载这些页面,但我的应用程序必须是独立的。
编辑
感谢您的解决方案尤达盒子。页面显示良好。我将baseUrl设置为"qrc:///web/"
而不是":/web/"
。但我仍然有一个问题。
我对嵌入式XML文件执行异步请求以加载HTML选择中的值。JavascriptConsole 给出消息:XHR finished loading: "qrc:///web/xml/values.xml"
,但未填充选择。你有什么解决方案吗?
你所需要的只是QWebView::setHtml
void QWebView::setHtml ( const QString & html, const QUrl & baseUrl = QUrl() )
您应该将baseUrl设置为":/web/",将html设置为HTML文件内容,有关详细信息,请阅读Qt DOC。
如果这些页面在应用程序执行期间不会更改,我认为您可以将其封装在资源文件中...(我不知道它是好是坏......只是它能满足你的需要)
您可以在此处阅读有关资源系统的信息:资源系统