Python 如何从Kivy中的另一个小部件访问某些小部件属性?
好的,假设我希望某个小部件中的标签使用另一个小部件中标签的文本:Python 如何从Kivy中的另一个小部件访问某些小部件属性?,python,kivy,kivy-language,Python,Kivy,Kivy Language,好的,假设我希望某个小部件中的标签使用另一个小部件中标签的文本: <SubWidget@RelativeLayout>: Label: text: str(root.parent.ids.first.text) <RootWidget>: Label: id: first center_x: 100 text: "text" SubWidget: id: secon
<SubWidget@RelativeLayout>:
Label:
text: str(root.parent.ids.first.text)
<RootWidget>:
Label:
id: first
center_x: 100
text: "text"
SubWidget:
id: second
center_x: 200
但这导致了例外情况:
AttributeError: 'NoneType' object has no attribute 'text'
这是令人困惑的,因为如果我编写类似于text:str(root.parent.l)
的内容,我将看到标签对象
,而不是非类型
所以我有两个问题:
l
可能在第一次事件循环迭代之后填充,而您正试图在第一次循环中访问它。您可以将其延迟到第二次迭代以使其工作AttributeError: 'NoneType' object has no attribute 'text'
BoxLayout
Label
id: label
text: 'hello world'
SubWidget
label_text: label.text
<SubWidget@BoxLayout>
label_text: 'none'
Label
text: root.label_text