大多数熟悉 QML 的人都知道,QML 中没有内置的“刷新”功能Image
。
我想创建一个新的 QML 类型,比如说RefreshableImage
在不改变源代码的情况下缓解这个问题,我觉得这是一个丑陋的 hack,因为它渗透到模型 - 视图关系的所有层并且这种切换行为是不自然的。此外,source
在 an 上设置不同的值Image
会破坏任何可能已设置的绑定(这实际上是问题的核心:我想要一个可更新的图像来维护其绑定,并且与 QML 隔离)。我知道我需要调用一些信号来实际刷新图像,这很好。
我很难找到有关扩展 Qt 自己的方法的文档,Image
以便我可以强制它重新加载其源代码。我想避免编写一个完整的组件,该组件大部分都很难复制Image
以添加一个功能。有没有办法像我想的那样扩展内置组件?
小提示:
- 由于外部情况,我仅限于 Qt 5.5。
- 我们使用
source
底层图像对象的 UUIDQQuickImageProvider
来获取实际的QImage
. 因此,我不想在更新图像时更改它。