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