工厂对象¶
工厂可用于自动注册任何类或模块,并在项目中的任何位置实例化这些类。它是`工厂模式 <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>¶
用于获取新类的工厂实例。