Как упаковать изображения в ресурс Qt, чтобы они были доступны из статического HTML-ресурса

У меня есть проект Qt Widgets, который использует QWebEngineView для отображения статической HTML-страницы. На этой странице будет показан образ, который необходимо "упаковать" с помощью исполняемого файла / установщика Qt. Можно ли использовать файл QRC для добавления изображения и ссылки на него из файла HTML?

Я (патетически) пытался получить доступ к изображению, используя нотацию "qrc:/image...", но я прекрасно понимаю, что QWebEngineView показывает встроенный браузер, который не имеет отношения к ресурсам проекта. Альтернативный способ?

1 ответ

Для Qt 5.6 в main.cpp:

...
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">
...
Другие вопросы по тегам