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'

AttributeError:“NoneType”对象没有“当前”属性

每次我使用 pip 时都会出现“AttributeError:'NoneType'”