Qt リソースとして埋め込まれた html ファイルを表示する Qt WebView を取得しようとしていますが、動作させることができないようです。新しい 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"
}
}
次に、(Designer を使用して) 次のようなリソース ファイルを作成しました。
<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>
結果は、空白の白いウィンドウです。http://www.stackoverflow.com
qml ファイルで通常の URL ( ) を URL として使用すると、ページが表示されます。埋め込み画像 ( qrc:/qt-project.org/mac/cursors/images/pluscursor.png
) の名前を使用すると、その画像が表示されます。
html ファイルが実際に追加されているように見えますが (埋め込みリソースを列挙すると、少なくともリストされます)、Qt リソース システムの理解が限られているため、基本的なことを誤解している可能性があります。
誰が私が間違っているのか教えてもらえますか?
更新: C++ からも URL をロードするように Web ビューに指示しようとしても、動作が同じであることを確認しました。また、リソースが実際に埋め込まれていることも確認しました。QResource を使用してリソースを開いて読み取ることができます。また、これは Qt5 に固有のものではないようです: http://qt-project.org/forums/viewthread/18181 (Qt 4.8 で同様の問題を抱えている人)。