2017-02-07 16 views
0

I次のディレクトリ構造があります。Kivy Builder.load_fileの使い方

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

'Builder.load_file(os.path.join(dirname(__ file__)、.. ../view/app1.kv '))' – Leon

+0

@Leon、私は今、ファイルが存在する。 – lmiguelvargasf

+0

ファイルパスは報告されていますか?それは正しいパスかどうか? – Leon

答えて

0

それはAppから継承したクラスで実装する必要があり、このメソッドはBuilder.load_file('view/app1.kv')を返すために持っているbuild()方法、および@Leonの提案を使用して、私のapp1.pyがあることが判明:今

from kivy.app import App 
from kivy.lang import Builder 


class App1(App): 
    def build(self): 
     return Builder.load_file(
     os.path.join(dirname(__file__), '../view/app1.kv') 
    ) 

、Kivyファイルが正しくロードされています。