AttributeError:“NoneType”对象没有“当前”属性
Posted
技术标签:
【中文标题】AttributeError:“NoneType”对象没有“当前”属性【英文标题】:AttributeError: 'NoneType' object has no attribute 'current' 【发布时间】:2015-11-29 05:21:30 【问题描述】: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:
错误:。请帮忙。
【问题讨论】:
这个错误发生在哪里?我没有看到current
被调用
@LawrenceBenson 请立即查看。
self.parent
分配在哪里?
@DanielRoseman 在我猜的 kivy 中,它显然可以在以后在同一个应用程序中工作。
想不出投反对票的原因!
【参考方案1】:
在你打电话的那一刻:
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
希望对你有帮助。
【讨论】:
以上是关于AttributeError:“NoneType”对象没有“当前”属性的主要内容,如果未能解决你的问题,请参考以下文章
AttributeError:'NoneType'对象没有属性'upper'[关闭]
%Matplotlib - AttributeError: 'NoneType' 对象没有属性 'lower'
BeautifulSoup:AttributeError:“NoneType”对象没有属性“文本”
Elastic Beanstalk 部署错误:AttributeError :: 'NoneType' 对象没有属性 'split'