我目前正在使用Qt 5.8中的QWebEngineView
,我想从我的index.html
文件中加载.qrc
文件。
我的.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
,而没有任何其他内容。
当我启动应用程序时,我只是得到一个“网站无法访问”的错误屏幕
然后我用Google搜索并尝试了几种不同的尝试来指定我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
如果我将资源网址从qrc:/html/index.html
更改为:/html/index.html
,我不再会收到此错误页面,而是会显示空白页面。如果我然后右键单击窗口并选择“查看页面源”,页面源也是空的。
我最近使用Qt Creator 4.2.2使用相同的qrc:...
网址创建了一个全新的Qt快速应用程序。
现在我创建了一个Qt Widgets应用程序,它不再起作用了。
我在这里缺少什么?
答案 0 :(得分:3)
正如所建议的那样,我将把上述评论中的解决方案作为未来用户遇到同样问题的答案。
&#34; [...]我巧合地清理了项目并点击了#34; Run qmake&#34;然后再次运行该项目。这次它适用于三个网址中的任何一个。这太令人沮丧了。 感谢您的帮助@ deW1&#34;