如何正确地将其他文件中的类添加到kivy项目中?

问题描述 投票:0回答:1

我正在学习 kivy 和 python 上的项目,其大小大于 1 个文件。

如何在新文件中正确添加新类?

现在我创造 a)带有定义的Example.py并将导入添加到main.py文件 b) example.kv 与 KV 代码,并将包含添加到此文件中,我想在其中使用此元素。

如果我不导入/包含这两个文件项目就看不到类,但是当我这样做时,kivy 说它已经包含在内。所以我们是标题?怎样做才是正确的呢?

warning

kivy kivy-language
1个回答
0
投票

请参阅我在这篇文章中的答案: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') 
© www.soinside.com 2019 - 2024. All rights reserved.