如何在Qt资源中打包图像以便可以从静态HTML资源访问

时间:2016-12-08 09:09:52

标签: qt qt5 qt-resource

我有一个Qt Widgets项目,它使用QWebEngineView来显示静态HTML页面。该页面将显示需要与Qt可执行文件/安装程序“打包”的图像。我可以使用QRC文件添加图像并从HTML文件中引用它吗?

我(可悲)尝试使用“qrc:/ image ...”表示法访问图像,但我完全理解QWebEngineView显示的是与项目资源无关的嵌入式浏览器。另一种方式?

1 个答案:

答案 0 :(得分:1)

对于main.cpp中的Qt 5.6:

...
QString helpHTMLFile = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
helpHTMLFile.append(QDir::separator());
helpHTMLFile.append("index.html");
QFile(helpHTMLFile).remove();
QFile(":/index.html").copy(helpHTMLFile);

QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty("pathToFile", "file:///"+helpHTMLFile);

QString logo = QStandardPaths::writableLocation(QStandardPaths::TempLocation);
logo.append(QDir::separator());
logo.append("logo.svg");
QFile(logo).remove();
QFile(":/logo.svg").copy(logo);
...

在html中:

...
<img src="logo.svg" class="loginFooterImg">
...