如何在kivy / python中添加kv文件中定义的小部件?

时间:2020-04-10 12:54:56

标签: python-3.x kivy

我有一个表,每次函数调用时我想为其添加行 常用的方法是在函数内部定义一个小部件,并在每次添加它 但是我不想在我的代码中定义我的小部件,我想像模板一样在我的kv文件中定义它,然后使用id或Object通过函数引用它 首先,如果可以的话,这可以吗?

我过去的操作方式是将函数绑定到按钮或文本验证事件,让我们说该函数为btn()

def btn():
   someLabel = Label(text="some text")
   self.add_widget(someLabel)

1 个答案:

答案 0 :(得分:1)

根据documentation,您可以使用Factory。例如:

在基辅:

<ImageButton@Button>:
    source: None

    Image:
        source: root.source
        pos: root.pos
        size: root.size

然后在python中可以执行以下操作:

from kivy.factory import Factory
button_inst = Factory.ImageButton()