QWebEngineView - 从资源中加载 html
QWebEngineView - Load html from resources
我目前正在使用 Qt 5.8 中的 QWebEngineView
,我想从我的 .qrc
文件中加载一个 index.html
文件。
我的 .pro
文件如下所示:
TEMPLATE = app
TARGET = Launcher
QT += webenginewidgets
CONFIG += c++14
SOURCES += main.cpp
RESOURCES += \
launcher.qrc
我的 main.cpp
文件如下所示:
#include <QApplication>
#include <QWebEngineView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWebEngineView view;
view.load(QUrl("qrc:/html/index.html"));
view.resize(1024, 768);
view.show();
return a.exec();
}
在我的项目中有一个 launcher.qrc
文件:
<RCC>
<qresource prefix="/html">
<file>index.html</file>
</qresource>
</RCC>
在 index.html
中,我只是添加了文本 Hello World
,没有添加任何其他内容。
当我启动应用程序时,我只看到一个 "Website not reacheable" 错误屏幕。
然后我四处搜索并尝试了几种不同的尝试来将资源 url 指定给我的 QWebEngineView
:
view.setUrl(QUrl("qrc:/html/index.html")); // Same error page
view.page()->setUrl(QUrl("qrc:/html/index.html")); // Same error page
view.page()->load(QUrl("qrc:/html/index.html")); // Same error page
如果我将资源 url 从 qrc:/html/index.html
更改为 :/html/index.html
,我不会再看到此错误页面,而是一个空白页面。如果我然后右键单击 window 和 select "View page source" 页面源也是空的。
我最近使用 Qt Creator 4.2.2 创建的新 Qt Quick 应用程序使用相同的 qrc:...
url.
现在我创建了一个 Qt Widgets 应用程序,但它不再工作了。
我在这里错过了什么?
按照建议,我会把上面评论中的解决方案作为以后遇到相同问题的用户的答案。
"[...] 我巧合地清理了项目并点击了 "Run qmake" 然后又点击了 运行 项目。这次它使用了三个 url 中的任何一个。这太令人沮丧了。
感谢您的帮助 @deW1"
我目前正在使用 Qt 5.8 中的 QWebEngineView
,我想从我的 .qrc
文件中加载一个 index.html
文件。
我的 .pro
文件如下所示:
TEMPLATE = app
TARGET = Launcher
QT += webenginewidgets
CONFIG += c++14
SOURCES += main.cpp
RESOURCES += \
launcher.qrc
我的 main.cpp
文件如下所示:
#include <QApplication>
#include <QWebEngineView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWebEngineView view;
view.load(QUrl("qrc:/html/index.html"));
view.resize(1024, 768);
view.show();
return a.exec();
}
在我的项目中有一个 launcher.qrc
文件:
<RCC>
<qresource prefix="/html">
<file>index.html</file>
</qresource>
</RCC>
在 index.html
中,我只是添加了文本 Hello World
,没有添加任何其他内容。
当我启动应用程序时,我只看到一个 "Website not reacheable" 错误屏幕。
然后我四处搜索并尝试了几种不同的尝试来将资源 url 指定给我的 QWebEngineView
:
view.setUrl(QUrl("qrc:/html/index.html")); // Same error page
view.page()->setUrl(QUrl("qrc:/html/index.html")); // Same error page
view.page()->load(QUrl("qrc:/html/index.html")); // Same error page
如果我将资源 url 从 qrc:/html/index.html
更改为 :/html/index.html
,我不会再看到此错误页面,而是一个空白页面。如果我然后右键单击 window 和 select "View page source" 页面源也是空的。
我最近使用 Qt Creator 4.2.2 创建的新 Qt Quick 应用程序使用相同的 qrc:...
url.
现在我创建了一个 Qt Widgets 应用程序,但它不再工作了。
我在这里错过了什么?
按照建议,我会把上面评论中的解决方案作为以后遇到相同问题的用户的答案。
"[...] 我巧合地清理了项目并点击了 "Run qmake" 然后又点击了 运行 项目。这次它使用了三个 url 中的任何一个。这太令人沮丧了。 感谢您的帮助 @deW1"