1
如何使用动态类将信息从子类中传递到其父类中?在kvlang(Kivy)中使用动态类将信息从子类传递给父类
我有以下简单的KV代码和Python代码:
KV:
BoxLayout:
Label:
id: label_id
text: 'label'
Button1:
mylabel: label_id
text: self.mylabel.text
<[email protected]>:
的Python:
import kivy
from kivy.app import App
class Test2App(App):
pass
if __name__ == '__main__':
Test2App().run()
这工作,使得该按钮的文本相同作为标签的文字。
但我想要做的是设置按钮的文本在父类中的内容:
BoxLayout:
Label:
id: label_id
text: 'label'
Button1:
mylabel: label_id
<[email protected]>:
text: self.mylabel.text
这显然会导致一个错误,因为Button1的是不知道mylabel的。但我想要它。我知道我可以通过在Python文件中声明一个属性来解决这个问题,但是我宁愿只在kv文件中有一个解决方案。
有没有人有一个想法如何做到这一点?
编辑:
有趣的是,我能够传递信息作为StringProperty。下面的代码工作,我得到我的按钮右侧的文本:
BoxLayout:
Label:
id: label_id
text: 'label'
Button1:
my_label_text: label_id.text
<[email protected]>:
my_label_text: ''
text: self.my_label_text
有谁知道我可以通过整个标签(作为对象)的家长吗?
感谢您的回复。问题是信息不会从孩子传递给父母。我得到的是一个没有文字的按钮。 – yoel 2015-02-24 19:13:20
啊,我认为在我的例子中实际上有一个错误,稍后会修复。 – inclement 2015-02-24 19:34:12
我刚刚发现我能够将信息作为StringProperty传递。请参阅编辑的问题 – yoel 2015-02-27 20:43:11