繁体   English   中英

QML:以编程方式更新绑定

[英]QML: programmatically update binding

有没有一种方法可以以编程方式更新(即重新评估)属性的当前绑定(而无需将其设置为其他值并进行重置)?

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

foo: bar

更改为此:

foo: { baz; bar }

baz是经常更改的东西,足以导致在需要时重新评估foo ,这意味着baz将相关。 例如, 此处已进行类似的破解。

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

您可以这样做(如果可能,应避免黑客入侵):

value: foo, bindedValue

要么

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

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

property bool foo: false

function reevaluateValue() {
    foo = !foo
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM