工厂对象

工厂可用于自动注册任何类或模块,并在项目中的任何位置实例化这些类。它是`工厂模式 <http://en.wikipedia.org/wiki/Factory_pattern>`_的一种实现。

类列表和可用模块由setup.py自动生成。

注册类/模块的示例:

>>> from kivy.factory import Factory
>>> Factory.register('Widget', module='kivy.uix.widget')
>>> Factory.register('Vector', module='kivy.vector')

使用Factory的示例::

>>> from kivy.factory import Factory
>>> widget = Factory.Widget(pos=(456,456))
>>> vector = Factory.Vector(9, 2)

使用类名的示例:

>>> from kivy.factory import Factory
>>> Factory.register('MyWidget', cls=MyWidget)

默认情况下,您通过工厂注册的第一个类名是永久性的。如果您希望更改已注册的类,需要在重新分配之前注销该类名:

>>> from kivy.factory import Factory
>>> Factory.register('MyWidget', cls=MyWidget)
>>> widget = Factory.MyWidget()
>>> Factory.unregister('MyWidget')
>>> Factory.register('MyWidget', cls=CustomWidget)
>>> customWidget = Factory.MyWidget()
kivy.factory.Factory: FactoryBase = <kivy.factory.FactoryBase object>

用于获取新类的工厂实例。

exception kivy.factory.FactoryException[源代码]

基类:Exception