2015-09-03 115 views
-4
class LoginScreen(Screen): 
    def __init__(self,**kwargs): 
     super(LoginScreen, self).__init__(**kwargs) 
     print self,self.parent.current 

class AppScreenManager(ScreenManager): 
    pass 

#Base Class 
class AppBaseClass(App): 
    def build(self): 
     icon='app_icon' 
     return Builder.load_file('appbase.kv') 


________________________________________________________________________________________________ 

AppScreenManager: 
    transition: FadeTransition() 
    LoginScreen: 

錯誤:AttributeError:'NoneType'對象沒有屬性'current'。請幫忙。AttributeError:'NoneType'對象沒有'current'屬性

+0

這個錯誤ocurr在哪裏?我沒有看到'current'被調用 –

+0

@勞倫斯本森請立即檢查。 –

+3

「self.parent」分配在哪裏? –

回答

2

此刻您撥打:

print self,self.parent.current 

的LoginScreen還沒有實例化,所以您所要求的和不存在的對象。

Clock.schedule_once(self._myprintfunction, 1/60) 

和後者在你的代碼,但在同級別:

def _myprintfunction(self, dt): 
     print '-'*25 
     print self 
     print self.parent 
     # print self.parent.curet <- this will throw you an error 
     print '-'*25 

希望它

的解決方法是通過一幀延遲通話,可使用Clock類來完成幫助。