我有以下目录结构:
project/
controller/
__init__.py
app1.py
view/
app1.kv
main.py
我的main.py
是:
from controller.app1 import App1
def main():
App1().run()
if __name__ == '__main__':
main()
我的app1.py
是:
from kivy.app import App
from kivy.lang import Builder
Builder.load_file('view/app1.kv')
class App1(App):
pass
我正在跑步:
kivy main.py
然而,我的Kivy内容未加载。
答案 0 :(得分:1)
使用Build.load_file
加载.kv文件时,请确保小部件为root
为避免它返回None。请阅读doc,以了解您对Builder所做的其他事情
from kivy.app import App
from kivy.lang import Builder
class App1(App):
def build(self):
self.root = Builder.load_file(os.path.join(dirname(__file__),/app1.kv')
)
答案 1 :(得分:0)
事实证明,方法build()
必须在继承自App
的类中实现,此方法必须返回Builder.load_file('view/app1.kv')
,并使用@Leon建议my {{1是}:
app1.py
现在,Kivy文件已正确加载。