一、起步(1.4属性)

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_事件;当属性值的状态和属性值发生改变时该事件均会被调用。

Kivy提供了下列的属性:

  • NumericProperty
  • StringProperty
  • ListProperty
  • ObjectProperty
  • BooleanProperty
  • BoundedNumericProperty
  • OptionProperty
  • ReferenceListProperty
  • AliasProperty
  • DictProperty

如果想有更深的了解,请查看属性

下节预告:1.5 Kv设计语言

你可能感兴趣的:(一、起步(1.4属性))