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

时间:2015-03-08 13:51:10

标签: python kivy

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

我想知道这是否可行?

1 个答案:

答案 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的原始注册表。