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'。请帮忙。
答案 0 :(得分:2)
你打电话的那一刻:
print self,self.parent.current
LoginScreen尚未实例化,因此您正在调用不存在的对象。
解决方法是将呼叫延迟1帧,这可以使用Clock类完成:
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
希望它有所帮助。