我有一個Qt Widgets項目,它使用QWebEngineView來顯示靜態HTML頁面。該頁面將顯示需要使用Qt可執行文件/安裝程序「打包」的映像。我可以使用QRC文件添加圖像並從HTML文件中引用它嗎?如何打包Qt資源中的圖像以便從靜態HTML資源訪問
我(可惜)試圖使用「qrc:/ image ...」符號訪問圖像,但我完全理解QWebEngineView顯示的嵌入式瀏覽器與項目資源無關。另一種方式?
我有一個Qt Widgets項目,它使用QWebEngineView來顯示靜態HTML頁面。該頁面將顯示需要使用Qt可執行文件/安裝程序「打包」的映像。我可以使用QRC文件添加圖像並從HTML文件中引用它嗎?如何打包Qt資源中的圖像以便從靜態HTML資源訪問
我(可惜)試圖使用「qrc:/ image ...」符號訪問圖像,但我完全理解QWebEngineView顯示的嵌入式瀏覽器與項目資源無關。另一種方式?
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">
...
不完全明白你想要什麼,而是你可以將圖像加載到臨時文件,並把它指向一個源代碼在HTML? – ilotXXI
也可能是一個很好的解決方案。只有在這種情況下,我需要將HTML +圖片部署到一些臨時位置。像lesyk的回答 – rubmz
您可以使用'QTemporaryFile','QTemporaryDir'或'QDesktopServices :: TempLocation'作爲臨時位置生成工具。還有一種方法是使用Base64編碼將圖像嵌入到HTML中,但它可以使HTML變大,我不確定'QWebEngineView'支持它。 – ilotXXI