首页 文章

QML:以编程方式更新绑定

提问于
浏览
0

有没有一种方法可以以编程方式更新(即重新评估)属性的当前绑定(不将其设置为其他内容并重置它)?

2 回答

  • 1

    你可以做(如果可能,应该避免破解):

    value: foo, bindedValue
    

    要么

    value: (foo && !foo) || bindedValue
    

    调用以下函数 reevaluateValue() 时,将完全重新评估 value

    property bool foo: false
    
    function reevaluateValue() {
        foo = !foo
    }
    
  • 1

    如果您的绑定看起来像这样:

    foo: bar
    

    把它改成这个:

    foo: { baz; bar }
    

    其中 baz 经常发生变化,导致 foo 在需要时被重新评估,这意味着 baz 会相关 . 例如,类似的黑客已经完成了here .

    我建议不要依赖评估顺序来正确解决问题 .

相关问题