【发布时间】:2015-06-02 16:20:35
【问题描述】:
我知道简短的回答可能是“不”,但也许这值得再问一次。
如果我知道一个有几千行的 Kivy 应用程序 - 那么是否可以在另一个 kv 文件中编写一些类?
这将使编辑、更正错误、进行更改...等变得更加容易。
澄清一下 - .KV 文件将是彼此的延续 - 不指向并行应用程序。
我们将不胜感激一些专家的见解 - 谢谢。
【问题讨论】:
我知道简短的回答可能是“不”,但也许这值得再问一次。
如果我知道一个有几千行的 Kivy 应用程序 - 那么是否可以在另一个 kv 文件中编写一些类?
这将使编辑、更正错误、进行更改...等变得更加容易。
澄清一下 - .KV 文件将是彼此的延续 - 不指向并行应用程序。
我们将不胜感激一些专家的见解 - 谢谢。
【问题讨论】:
是的!您可以像普通 python 文件一样在文件中导入.kv 文件,开头为:
#:include otherfile.kv
如果您希望文件先卸载并重新加载,您可以强制导入输入
#:include force otherfile.kv
相反。
所有这些都写在Kivy Language Documentation 中,其中充满了有用的说明。
【讨论】:
from ui.myclass import MyClass 在 python 中导入东西,但#:include ui.mywidget.kv 不起作用。文档似乎没有提到这一点。
#: include ui/mywidget.kv
是的:
from kivy.lang import Builder
Builder.load_file('your_filename')
【讨论】:
我相信您可以创建多个 .kv 文件,并且可以通过这种方式将其包含在一个位置(根文件),只有您可以分发/分支您的代码 Kivy 文档明确指出“一个 kv 文件最多只能包含一个根小部件” 表示只有一个 kv 主文件。即使您运行 Mainapp 类的多个实例
我是 Kivy 的新手,所以如果我错了,请纠正我。 谢谢!
【讨论】: