目录

属性

Kivy 引入了一种在类中声明属性的新方式。之前:

class MyClass(object):
    def __init__(self):
        super(MyClass, self).__init__()
        self.numeric_var = 1

之后,使用Kivy的属性::

class MyClass(EventDispatcher):
    numeric_var = NumericProperty(1)

这些属性实现了`观察者模式 <http://en.wikipedia.org/wiki/Observer_pattern>`_。它们帮助你:

  • 轻松操作在 KV 语言 中定义的控件。

  • 自动观察任何变化,并相应地调度函数/代码。

  • 检查并验证数值。

  • 优化内存管理

要使用它们,你必须在类级别声明它们。也就是说,直接在类中声明,而不是在类的任何方法中。属性是一种类属性,它会自动创建实例属性。每个属性默认提供一个``on_<propertyname>``事件,每当属性的状态/值发生变化时,该事件就会被调用。

Kivy 提供以下属性:

: NumericPropertyStringPropertyListPropertyObjectPropertyBooleanPropertyBoundedNumericPropertyOptionPropertyReferenceListPropertyAliasPropertyDictPropertyVariableListPropertyConfigParserPropertyColorProperty

如需深入了解,请参阅:doc:/api-kivy.properties