我目前正在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
,没有其他任何内容。
启动应用程序时,我只会得到一个"网站不可到达"错误屏幕。
然后,我四处搜索,并尝试了几项不同的尝试来指定我的QWebEngineView
的资源URL:
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
,我不再获得此错误页面,而是一个空白页面。如果我然后右键单击窗口,然后选择"查看页面源"页面源也为空。
我最近使用QT Creator 4.2.2使用相同的qrc:...
URL创建的新QT快速应用程序。
现在我创建了一个QT Widgets应用程序,它不再起作用。
我在这里缺少什么?
所建议的,我将在上面的评论中提出解决方案,作为对未来遇到相同问题的未来用户的答案。
" [...]我偶然清洁了该项目并点击" Run Qmake",然后再次运行了项目。这次它与三个URL一起使用。这真令人沮丧。感谢您的帮助 @DEW1"