如何在 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
我希望默认情况下我所有的 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