2017-10-09 124 views
0

我想用一個按鈕來創建一個應用程序,該按鈕將調用另一個應用程序或此應用程序的另一部分。從一個屏幕移動到另一個屏幕會生成RecursionError

例如:

我主屏幕,在這裏我可以選擇像查看報告的一些選項,創建報告,管理報告等,我認爲所有這些是一個應用程序上。

因此,我從基維的App類中創建了兩個子類,每個子類都有自己的.kv文件。假設一個是主屏幕,另一個是另一個屏幕。

當我這樣做,它看起來像它的工作原理,但是當我打電話的第二個屏幕,在控制檯中我得到以下錯誤在控制檯:

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() 

和一個名爲probando.kv包含

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

回答

0

這聽起來像你不希望多個應用程序文件,而是一個單一的應用程序其界面發生變化。你可以通過切換小部件來做到這一點,ScreenManager爲此提供了一個方便的API。

相關問題