2017-10-20 85 views
1

in kivy我想将小部件的属性绑定到子部件的属性。因此,当根部件属性发生更改时,更改也会传播到子属性。将属性绑定到kivy中的另一个属性

我尝试了这种方式:

self._Child._MyProperty = self._MyProperty 

它的工作原理...有时。但有时它不起作用。我无法确定它何时有效,或者为什么以及在哪些条件下不起作用。

在所有情况下在根小部件我有一个结合的方法,以及:

这种方法被称为在所有情况下,但有时的变化不会传播到子属性。

,如果它感觉很自然这甚至不工作:

self.bind(_MyProperty = self._Child._MyProperty) 

但kivy语言,我可以这样做:

<RootWidget> 
    <ChildWidget> 
     _MyProperty: self.parent._MyProperty 

但我想这样做的蟒蛇不在KV-语言。

有没有人有一个想法,如何正确地做到这一点?

回答

0

为了一个属性绑定到另一个你应该使用setter

self.bind(_MyProperty=self._Child.setter('_MyProperty')) 
+0

谢谢!这工作! – CountVonCount

相关问题