2015-09-03 3 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

где эта ошибка? Я не вижу 'current', который называется –

+0

@LawrenceBenson Пожалуйста, проверьте сейчас. –

+3

А где «self.parent» назначается? –

ответ

2

На данный момент вы звоните:

print self,self.parent.current 

в LoginScreen еще не экземпляр, поэтому призывают и объект, который не существует.

Обойти является задержка вызова на 1 кадр, что может быть сделано с помощью часов класса:

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 

Надеется, что это помогает.

Смежные вопросы