2016-09-22 40 views
1

我的问题很简单。 我有一个用QML开发的Gui的Qt应用程序。 我的后端在生成名为/ images的文件夹中生成并保存jpg图像。 我能够从C++发送QML字符串,其中包含我想要显示的图像的名称。可悲的是我的QML图像对象不显示任何东西。如何在运行时生成的QML中加载图像(jpg)

看来,如果图像只有先前已经在qml.qrc文件中声明过,才能显示出来。 不幸的是,qrc文件仍然不支持通配符! https://bugreports.qt.io/browse/QTBUG-1400

是否有解决方法?
图像的名称不是固定的,它们是用某些运行时间值(即时间戳)生成的。

谢谢

+0

也许你需要[QQuickImageProvider(http://doc.qt.io/qt-5/qquickimageprovider.html) – folibis

+1

不,他只是需要从磁盘加载,而不是RQC – dtech

+0

我可能需要QQuickImageProvider,但它是一个因为在我的后端,我为每个暴露给QML的模型处理多个图像(在运行时生成)。 在任何情况下使用QQuickImageProvider应该更快,而不是存储和加载图像。明天我会试一试。 thx – Spatz

回答

3

默认情况下,它会搜索在QRC文件中的图像源。要使其转到实际的文件系统,请在路径上加上file:///

+0

是的,它完美结合'cache:false'。 我会尝试执行此实现之前切换到其他东西。Thx – Spatz

+0

看来, 'file:/'也可以。 – dtech

+0

由于文件名来自C++,只需使用'QUrl :: fromLocalFile()'并将结果URL传递给QML –