当 QML 对象不可见时阻止 QML 属性绑定?

Sla*_*606 6 data-binding qt qt4 qml qt5

我正在开发一个具有很多属性绑定的 QML 应用程序:数百个对象被跟踪并以 Qt3D/QCanvas 等不同形式显示。

当我在应用程序的单独页面上时,那些 x/y 位置和相对大小的属性绑定仍在发生。我怎样才能阻止他们?我知道我可以根据属性是否可视来绑定属性,但这是很多不必要的代码:

x:可见?tracking.location(index).x : 0

我将不得不像这样包装大量的绑定。还有其他解决方案吗?

dte*_*ech 5

您可以使用该Binding元素。您可以指定目标、属性、值和条件来激活绑定。

Binding on x {
    value: tracking.location(index).x
    when: visible
}
Run Code Online (Sandbox Code Playgroud)