我正在学习 kivy 和 python 上的项目,其大小大于 1 个文件。
如何在新文件中正确添加新类?
现在我创造 a)带有定义的Example.py并将导入添加到main.py文件 b) example.kv 与 KV 代码,并将包含添加到此文件中,我想在其中使用此元素。
如果我不导入/包含这两个文件项目就看不到类,但是当我这样做时,kivy 说它已经包含在内。所以我们是标题?怎样做才是正确的呢?
请参阅我在这篇文章中的答案:https://stackoverflow.com/a/77708993/10398943
kv代码具有全局命名空间,只需加载一次。
默认情况下kivy会尝试加载一个与App派生的类同名的kv文件。确保您没有导入两次。
对于您的示例,假设我们有: main.py - 主Python文件 main.kv - 主 kv 文件,定义根小部件 screen_1.py 定义了 Screen1 类中使用的方法 screen_1.kv 定义 Screen1 的 kv
# in main.py import Screen1
from screen_1 import Screen1
...
# in main.py load the main.kv file in build()
class MyFirstApp(App):
def build(self):
return Builder.loadfile('main.kv')
#------------------
# in screen_1.py load the kv file.
Builder.load_file('screen_1.kv')