我试图让Qt WebView显示一个嵌入为Qt资源的html文件,但我似乎无法让它工作.我创建了一个新的Qt Quick应用程序并添加了一个简单的qml文件:
import QtQuick 2.0 import QtWebKit 3.0 Rectangle { id: content width: 800 height: 600 color: "black" WebView { id: webView anchors.fill: parent url: "qrc:/res/test.html" } }
<RCC> <qresource prefix="/res"> <file>test.html</file> </qresource> </RCC>
并创建了一个简单的test.html文件(与.qrc文件位于同一目录中):
<html> <head><title>Hello</title></head> <body> <h1>Hello World!</h1> </body> </html>
结果只是一个空白的白色窗口.如果我在qml文件中使用常规URL(http://www.stackoverflow.com)作为其工作的URL – 将显示该页面.如果我使用嵌入图像的名称(qrc:/qt-project.org/mac/cursors/images/pluscursor.png),则显示该图像.
它看起来好像确实添加了html文件(当我枚举嵌入资源时至少列出它),但我对Qt资源系统的理解是有限的,所以我很可能误解了一些基本的东西.
谁能告诉我我做错了什么?
更新:如果我尝试告诉Web视图也从C加载URL,我已经验证了行为是否相同.我还验证了资源确实已嵌入 – 我可以使用QResource打开和读取资源.此外,这似乎并不特定于Qt5:http://qt-project.org/forums/viewthread/18181(有人与Qt 4.8有类似问题).