我目前正在使用QT5.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,则不再得到这个错误页面,而是得到一个空白页。如果我然后右击窗口并选择“查看页面源”,那么页面源也是空的。
最近,我使用使用相同qrc:... url的Qt 4.2.2创建了一个新的Quick。
现在,我创建了一个Qt小部件应用程序,它不再工作了。
我在这里错过了什么?
发布于 2017-06-15 08:39:56
正如建议的那样,我将将上述评论中的解决方案作为对具有相同问题的未来用户的回答。
“.我碰巧清理了这个项目,点击了"Run”,然后再次运行这个项目。这一次它与这三个urls中的任何一个都有效。这太令人沮丧了。谢谢您的帮助@deW1 1。“
https://stackoverflow.com/questions/43707350
复制相似问题