我刚开始使用Kivy,并想知道是否可以给一个ReferenceListProperty
一个有两个以上组件的班级?例如,如果我Numeric Properties
调用r
,g
,b
和a
,并尝试为我的班级提供此类属性
color = ReferenceListProperty(r, g, b, a)
它告诉我b
和a
是意外的参数。我知道我可以给它一个DictProperty
,其密钥等同于NumericProperties
,但是有一个4元组ReferenceListProperty
会更有帮助。如何做到这一点,如果做不到,最好的替代方案是什么?提前谢谢。
答案 0 :(得分:3)
如kivy docs ReferenceListProperty
中所述,该属性允许创建包含其他属性的元组。您是否真的将r
,g
,b
,a
定义为NumericProperties
?下面的代码片段运行时没有错误:
from kivy.properties import ReferenceListProperty
from kivy.properties import NumericProperty
x = someValue
r = NumericProperty(x)
b = NumericProperty(x)
g = NumericProperty(x)
a = NumericProperty(x)
color = ReferenceListProperty(r,g,b,a)