2017-10-09 9 views
0

が、私は別のアプリや、このアプリの他の部分呼び出すボタンでアプリを作成したいが生成されます。例えば一つの画面から別のものに移動すると、RecursionError

私はそれらのすべてのアプリだと思い、私は、[レポートの表示のようないくつかのオプションを選択したレポートの作成、レポートを管理することができ、メイン画面などによ。

私はAppクラスのKivyクラスから2つのサブクラスを作成します。それぞれのクラスは独自の.kvファイルを持っています。一方がメイン画面で、もう一方が別の画面であるとします。

私はそれが動作するように見えるが、私は2番目の画面を呼び出すときに、コンソールに私はコンソールで次のエラーを取得することを実行します。

RecursionError: maximum recursion depth exceeded in comparison

が、私はこれをどのように修正することができますか?

Main.pyファイルが

from kivy.app import App 


class ProbandoApp(App): 
    pass 


class TestApp(App): 
    probando = ProbandoApp() 

print(__name__) 
if __name__ == '__main__': 
    TestApp().run() 

が含まれていると私は、クラスごとに.kvファイルを持っています。

私も含まれていtest.kvというファイルがあります:

Widget: 
    Button: 
     id: btnTest 
     text: 'Test' 
     width: 100 
     height: self.font_size * 2 
     on_press: app.probando.run() 

、あなたが複数のアプリを望んでいないようですね

Widget: 
    Button: 
     id: btnProbando 
     text: 'Otra cosa mas para probar' 

答えて

0

が含まれているprobando.kvというファイルが、単一のアプリケーションをインタフェースが変更されます。ウィジェットを切り替えることでこれを行うことができ、ScreenManagerは便利なAPIを提供します。

関連する問題