1.4属性
Kivy介绍了一种新的在一个类中生命属性的方法,以前的方式为:
class MyClass(object):
def __init__(self):
super(MyClass, self).__init__()
self.numeric_var = 1
而Kivy的方式为:
class MyClass(eventDispatcher):
numeric_var = NumericProperty(1)
这些属性实现了观察者模式,它们对你有以下帮助:
- 更容易操纵定义在[Kv 语言]中的部件
- 自动监控任何的变动,并且执行相应的代码
- 检查刷新属性值
- 优化内存管理
为了使用属性,你必须在一个类里面声明它们,注意是直接写在类里面,而不是写在任何的类的方法里,它是一个类属性。每一个属性都默认提供了一个on_<propertyname>事件;当属性值的状态和属性值发生改变时该事件均会被调用。
Kivy提供了下列的属性:
- NumericProperty
- StringProperty
- ListProperty
- ObjectProperty
- BooleanProperty
- BoundedNumericProperty
- OptionProperty
- ReferenceListProperty
- AliasProperty
- DictProperty
如果想有更深的了解,请查看属性