如何解决错误“ Nonetype对象没有属性'bind'”?

用户名

我刚开始用kivy创建一个新应用,而当尝试从应用类中调用StringProperty kujund时,我根本不明白为什么它给我一个错误。

蟒蛇:

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import StringProperty
from kivy.clock import Clock

kv = Builder.load_file("autogeo.kv")
kujund = "null"

class autogeo(App):
    manager = ScreenManager()

    Screen1 = Screen(name="esimene")
    Screen2 = Screen(name='teine')
    Screen3 = Screen(name="kolmas")
    Screen4 = Screen(name='neljas')
    Screen5 = Screen(name="viies")
    kujund = StringProperty()

    def update(self, *args):
        pass
    def build(self):
        Clock.schedule_interval(self.update, 0.1)
        return kv

if __name__ == "__main__":
    autogeo().run()

Kv:

ScreenManager:
    id: manager
    size: root.width, root.height

    Screen:
        name: "esimene"
        GridLayout:
            cols: 2
            rows: 3
            Button:
                text: "ruut"
                on_press:
                    manager.current = "teine"
                    manager.transition.direction ="left"
                    app.kujund: "ruut"

            Button:
                text: "ristkylik"
                on_press:
                    manager.current = "teine"
                    manager.transition.direction ="left"
            Button:
                text: "kolmnurk"
                on_press:
                    manager.current = "teine"
                    manager.transition.direction ="left"
            Button:
                text: "taisnurkne kolmnurk"
                on_press:
                    manager.current = "teine"
                    manager.transition.direction ="left"
            Button:
                text: "ring"
                on_press:
                    manager.current = "teine"
                    manager.transition.direction ="left"
            Button:
                text: "vordhaarne trapets"
                on_press:
                    manager.current = "teine"
                    manager.transition.direction ="left"
    Screen:
        name: "teine"
        FloatLayout:
            Label:
                text: "Valisid kujundi " + app.kujund
                font_size: self.width * 0.1
            Button:
                text: "tagasi"
                size_hint: 1, 0.2
                on_press:
                    manager.current = "esimene"
                    manager.transition.direction = "right"

追溯:

 Traceback (most recent call last):
   File "C:\Users\ricsi\Anaconda3\lib\site-packages\kivy\lang\builder.py", line 249, in create_handler
     return eval(value, idmap), bound_list
   File "C:\Users\ricsi\PycharmProjects\ToolsforMaths\autogeo.kv", line 46, in <module>
     text: "Valisid kujundi " + app.kujund
   File "C:\Users\ricsi\Anaconda3\lib\site-packages\kivy\lang\parser.py", line 75, in __getattribute__
     object.__getattribute__(self, '_ensure_app')()
   File "C:\Users\ricsi\Anaconda3\lib\site-packages\kivy\lang\parser.py", line 70, in _ensure_app
     app.bind(on_stop=lambda instance:
 AttributeError: 'NoneType' object has no attribute 'bind'
永乐

在创建“ app”之前,您正在加载使用“ app”的.kv,因此没有错误引发该错误。解决方案是在创建“ app”(例如构建方法)之后对其进行解析。

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import StringProperty
from kivy.clock import Clock


class autogeo(App):
    manager = ScreenManager()

    Screen1 = Screen(name="esimene")
    Screen2 = Screen(name="teine")
    Screen3 = Screen(name="kolmas")
    Screen4 = Screen(name="neljas")
    Screen5 = Screen(name="viies")
    kujund = StringProperty()

    def update(self, *args):
        pass

    def build(self):
        kv = Builder.load_file("autogeo.kv")
        Clock.schedule_interval(self.update, 0.1)
        return kv


if __name__ == "__main__":
    autogeo().run()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何解决AttributeError:'NoneType'对象没有属性'head'

如何解决 NoneType' 对象没有属性 'get'

如何解决错误AttributeError:'NoneType'对象没有属性'find'

属性错误“NoneType”对象没有属性

如何解决元组对象没有属性“拆分错误”

如何解决“ GeoDataFrame对象没有属性...”错误

Kivy Scrollview:AttributeError:'NoneType'对象没有属性'bind'

错误:“ NoneType”对象没有属性“追加”

'Nonetype'对象没有属性ID错误

错误:“ NoneType”对象没有属性“ call”

Python错误'NoneType'对象没有属性'<....>'

'NoneType'对象没有属性'fillna'错误

如何解决AttributeError:“ NoneType”对象在python中没有属性“ encode”

如何解决错误:在类中使用std :: bind时,“没有匹配的函数可用于对'bind(<unresolved的重载函数类型>的调用”

如何克服'NoneType'对象没有属性'lower'错误?

如何修复错误“'NoneType' 对象没有属性 'text'”

属性错误:“NoneType”对象没有属性“id”

属性错误:“ NoneType”对象没有属性“父级”

如何解决python中属性错误“ float”对象没有属性“ split”?

如何解决属性错误:pymongo中的“ Cursor”对象没有属性“ noCursorTimeout”?

如何解决属性错误:“系列”对象在此python代码中没有属性“重塑”?

如何解决“ RFECV对象没有support_属性”属性错误?

如何解决“没有返回 HttpResponse 对象”错误?

如何解决 Django 查询“'ExtractHour' 对象没有属性 'split'”错误?

如何解决“ LeadForm”对象在Django中没有属性“保存”错误?

'列表'对象没有属性'get_rect'错误如何解决?

如何解决错误?“节点”对象在 Google Colab 中没有属性“output_masks”

如何解决python中的错误“ AttributeError:类型对象'Image'没有属性'open'”?

尝试错误更新表单时如何解决“'__proxy__'对象没有属性'get'”