Python Kivy:将kwarg传递给在Kv中定义的子小部件(初始化时)

Python Kivy:将kwarg传递给在Kv中定义的子小部件(初始化时),python,kivy,kivy-language,Python,Kivy,Kivy Language,假设我有一个计算点击次数的简单小部件: :#BoxLayout 金额:1 标签: 文字:金额 按钮: 正文:“+1” 发布时:root.amount+=1 我想在我的应用程序的其他地方使用此小部件,例如: :#BoxLayout 标签: text:'下面的小部件将计算您的点击次数:' 单击计数器: id:柜台 在我的python代码中,我想做ParentWidget(amount=5),也就是说,我想在ParentWidget内部的点击计数器,从5开始计数。我该怎么做 我的尝试 这会起作用,

假设我有一个计算点击次数的简单小部件:

:#BoxLayout
金额:1
标签:
文字:金额
按钮:
正文:“+1”
发布时:root.amount+=1
我想在我的应用程序的其他地方使用此小部件,例如:

:#BoxLayout
标签:
text:'下面的小部件将计算您的点击次数:'
单击计数器:
id:柜台
在我的python代码中,我想做
ParentWidget(amount=5)
,也就是说,我想在
ParentWidget
内部的
点击计数器,从5开始计数。我该怎么做

我的尝试 这会起作用,但很难看,会在下一帧更新值:

类ParentWidget(BoxLayout):
定义初始化(self,*args,**kwargs):
金额=kwargs.pop('amount',0)
super(ParentWidget,self)。\uuuuuu init\uuuuuu(*args,**kwargs)
Clock.schedule_一次(lambda dt:self.ids.counter.amount=amount)
或者类似的东西,但该属性仅用于初始化,这同样难看:


金额:0
# …
单击计数器:
金额:root.amount

没有kv语言语法用于将KWARG传递给作为kv规则一部分实例化的小部件。使用属性执行您想要的操作,或发明不同的控制流,或两者兼而有之。

很高兴知道,谢谢。我将坚持在本地编辑新的小部件,然后再将其添加到任何地方。