何时使用<>用kv语言

时间:2014-11-16 21:53:24

标签: python kivy

我想问一下这三段代码(kv语言)之间有什么区别,以及为什么区分它们是有意义的:

1)

Location:

<Location@BoxLayout>:
    orientation: 'vertical'
    ...

2)

BoxLayout:
    orientation: 'vertical'
    ...

3)

<Location@BoxLayout>:
    orientation: 'vertical'
    ...

如果我理解正确,我们会使用&lt;&gt;制定规则,课堂,为未来重复使用的东西。如果我们不使用&lt;&gt;这是一次性的事情。我可能在这里完全错了.. 无论如何,在第一个例子中,我们是否添加了“位置:”以便将来或其他原因轻松引用它?

1 个答案:

答案 0 :(得分:3)

<Location@BoxLayout>:

这是一个动态类,没有相应的python类声明。

BoxLayout:
    orientation: 'vertical'

这是根小部件定义。如果kv文件是应用程序自动加载的文件,它将自动用作应用程序的根窗口小部件,如果您手动加载kv文件,它将由Builder.load_fileBuilder.load_string返回。这些方法。

您不包含主要类型的规则:

<SomeWidget>:
    ...

这为已在python中声明的窗口小部件类定义了一个规则,例如:你的一个python文件中的class SomeWidget(Widget)。规则的内容将应用于该窗口小部件的每个实例。

主要记录here