Table Of Contents
Объект Factory¶
Фабрика может использоваться для автоматической регистрации любого класса или модуля и создания экземпляров классов из него в любом месте вашего проекта. Это реализация шаблона Factory.
Список классов и доступных модулей автоматически генерируется с помощью 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: kivy.factory.FactoryBase = <kivy.factory.FactoryBase object>¶
Экземпляр Factory для создания новых классов
- exception kivy.factory.FactoryException[исходный код]¶
Базовый класс:
Exception