1

我想在QWebView.

我的“网络应用程序”由一些带有 CSS、Javascript 和图片的 HTML5 页面组成。它是完全自主的。它不需要服务器。

我对 Qt 编程很陌生。有没有办法将这些文件嵌入到 Qt 项目中并在QWebView程序启动时加载它们?

我已经设法从远程 HTTP 服务器加载这些页面,但我的应用程序必须是独立的。

编辑

感谢您的解决方案 Yodabox。页面显示得很好。我将 baseUrl 设置为"qrc:///web/"而不是":/web/". 但我仍然有一个问题。

我对嵌入式 XML 文件执行异步请求以加载 HTML 选择中的值。JavascriptConsole 给出消息:XHR finished loading: "qrc:///web/xml/values.xml" 但未填充选择。你有什么解决办法吗?

4

2 回答 2

1

所有你需要的是 QWebView::setHtml

void QWebView::setHtml ( const QString & html, const QUrl & baseUrl = QUrl() )

您应该将 baseUrl 设置为 ":/web/" 并将 html 设置为 HTML 文件内容,请阅读 Qt DOC 了解详细信息。

于 2012-12-14T02:05:47.427 回答
0

如果这些页面在应用程序的执行过程中不应该改变,我认为你可以将它封装在一个资源文件中......(我不知道它是好是坏......只是它满足你的需要)

您可以在此处阅读有关资源系统的信息:资源系统

于 2012-12-13T16:53:52.300 回答