我的工作环境: Qt 5.8 MSVC2015 64位,Windows 7 64位,Web引擎,JavaScript。
在QT代码中,我正在加载图像,将数据转换为QByteArray&转回JavaScript。所以javaScript可以渲染图像。 但JavaScript无法加载.png图片,任何线索我在这里缺少什么?
QT .h文件代码:
Q_INVOKABLE QByteArray GetTile();
QT .cpp文件代码:
QByteArray ExportedObject::GetTile()
{
QByteArray arr;
QFile imageFile("D:\\2.png");
arr = imageFile.readAll();
imageFile.close();
return arr;
}
JavaScript代码:
var myRetValue;
myRetValue = window.interface.GetTile(function(returnValue) {
return returnValue;
});
alert (myRetValue);
document.getElementById("ItemPreview").src = "data:image/png;base64," + returnValue;
为什么returnValue没有存储在myRetValue中?
答案 0 :(得分:0)
@derM:非常感谢投入。修复是将QByteArray转换为Base64。
return arr.toBase64();
如果没有Base64,我只接收NULL(/ r / n)终止字符串。