假设您有一个自定义布局,其中包含不应在本地设置的标签
<CustomWidget>:
Label:
id: l1
Label:
id: l2
在这种情况下,CustomLabels是诸如GridLayout之类的布局。当使用此自定义窗口小部件时,您需要设置文本,如果在Python中完成操作则很丑陋。可以从奇异鸟身上完成吗?例如,
SomeLayout:
...
CustomWidget:
l1.text: "hello, "
l2.text: "world!"
...
当然,这会在第一次分配l1.text时引发语法错误。有什么想法吗?
如果您用一些CustomWidget
定义StringProperties
,如下所示:
class CustomWidget(SomeOtherLayout):
l1_text = StringProperty()
l2_text = StringProperty()
然后稍微更改kv
:
<CustomWidget>:
Label:
text: root.l1_text
Label:
text: root.l2_text
然后您可以将CustomWidget
用作:
SomeLayout:
CustomWidget:
l1_text: "hello, "
l2_text: "world!"