doc/sources/gettingstarted/properties.rst
Kivy introduces a new way of declaring properties within a class. Before::
class MyClass(object):
def __init__(self):
super(MyClass, self).__init__()
self.numeric_var = 1
After, using Kivy's properties::
class MyClass(EventDispatcher):
numeric_var = NumericProperty(1)
These properties implement the Observer pattern <http://en.wikipedia.org/wiki/Observer_pattern>_. They help you to:
/guide/langTo use them, you have to declare them at class level. That is, directly in
the class, not in any method of the class. A property is a class attribute
that will automatically create instance attributes. Each property by default
provides an on_<propertyname> event that is called whenever the property's
state/value changes.
Kivy provides the following properties:
:mod:~kivy.properties.NumericProperty,
:mod:~kivy.properties.StringProperty,
:mod:~kivy.properties.ListProperty,
:mod:~kivy.properties.ObjectProperty,
:mod:~kivy.properties.BooleanProperty,
:mod:~kivy.properties.BoundedNumericProperty,
:mod:~kivy.properties.OptionProperty,
:mod:~kivy.properties.ReferenceListProperty,
:mod:~kivy.properties.AliasProperty,
:mod:~kivy.properties.DictProperty,
:mod:~kivy.properties.VariableListProperty,
:mod:~kivy.properties.ConfigParserProperty,
:mod:~kivy.properties.ColorProperty
For an in-depth explanation, take a look at :doc:/api-kivy.properties.