gpt4 book ai didi

qt - 如何在 Qt WebView 中显示嵌入的 html

转载 作者:行者123 更新时间:2023-12-04 13:19:43 25 4
gpt4 key购买 nike

我试图让 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 View 也从 C++ 加载 url,则行为是相同的。我还验证了资源确实是嵌入的 - 我可以使用 QResource 打开和读取资源。此外,这似乎不是 Qt5 特有的: http://qt-project.org/forums/viewthread/18181 (有人对 Qt 4.8 有类似的问题)。

最佳答案

首先,确保资源文件在 compile 文件夹( .RCC 文件或 qrc_<Resource name>.cpp )上正确编译
其次,确保您的文件路径正确(在我的情况下 qrc:/images/resource/html/test.html )。您可以打开 QRC 文件并右键单击 html 文件,然后单击 Copy Resource Path to Clipboard .
第三,请注意,有些 url 需要更多时间才能完全加载。

最后,我测试了这个场景,效果很好(使用 Qt 5.1.0)

祝你好运 - S.M.Mousavi

关于qt - 如何在 Qt WebView 中显示嵌入的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14047576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com