如何在 Kivy 语言中导入新的顶点指令(行)?

How to import a new Vertex Instruction (Line) in the Kivy Language?

我希望默认情况下我所有的 Line 实例的宽度都是 2。我不是在每次创建新实例时都添加 width: 2,而是尝试创建一个新的 class (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 语言调用它。我试图显式导入 class:

#:import MyLine myfile.MyLine

我想知道这是否可能?

您应该尝试注册您的指令,以便 kv 知道它。

from kivy.factory import Factory
Factory.register('Line', module='myfile')

Line原寄存器可以看https://github.com/kivy/kivy/blob/master/kivy/factory_registers.py#L74