我希望默认情况下我的所有Line实例的宽度都是2.而不是每次创建新实例时都添加width: 2
,我尝试创建一个新类(MyLine
):
class MyLine (Line):
def __init__(self, **kwargs):
kwargs['width'] = kwargs.get('width') or 2.0
Line.__init__(self, **kwargs)
一旦我在Python中调用它,它实际上就会起作用:
MyLine(points=[ix, iy, fx, fy])
但是,我无法从Kivy语言中调用它。我试图明确导入该类:
#:import MyLine myfile.MyLine
我想知道这是否可行?
答案 0 :(得分:1)
你应该尝试注册你的指令,以便kv知道它。
from kivy.factory import Factory
Factory.register('Line', module='myfile')
您可以查看https://github.com/kivy/kivy/blob/master/kivy/factory_registers.py#L74以获取Line的原始注册表。