【问题标题】:Do not repaint QML object不要重绘 QML 对象
【发布时间】:2016-02-22 22:28:39
【问题描述】:

有没有办法简单地告诉对象不要重绘?例如,Rectangle 对象在更改 color 属性后不会改变颜色。

【问题讨论】:

  • 你想达到什么目的?
  • 可以通过使用QSignalBlocker 使对象“丧失能力”。不过需要一些 C++ 代码。
  • @Mitch 我想要实现的是能够在加载数据时停止刷新应用程序。加载大量数据会导致渲染 UI 时出现问题(想象有多个动画对象)。我知道解决方法 - 例如使用Item.grabToImage() 可以完成这项工作。我只是想知道是否有简单的开关来启用/禁用 UI 渲染。因此这个简单的问题:)
  • 啊,我明白了。 Item.grabToImage() 是个好主意,而且可能尽可能简单。
  • 孵化和装载机绝对是要走的路。然而,此时您需要将您的应用程序运行到 Creator 的 QML 分析器中,以了解出现问题的原因。

标签: qt qml qt5 repaint


【解决方案1】:

QML 没有简单的方法可以做到这一点。我不确定在 QML 中是否可以做到这一点;在 C++ 中可能是可能的。

您可以改用Canvas,这样您就可以控制何时进行渲染。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多