gpt4 book ai didi

python - Kivy - 错误 : "object has no attribute" when I called it from . kv 文件

转载 作者:太空宇宙 更新时间:2023-11-04 05:55:52 25 4
gpt4 key购买 nike

当我运行下一部分代码时:

class VState(State):

def __init__(self, name='', stateType=None, **kwargs):
super(VState, self).__init__(**kwargs)
self.vBackground = 'my_background'
self.name = name

def setBackgroundImage(self):

print (self.vBackground)

return 'gui/my_background_image'

它会完成的。当我从 .kv 文件调用 setBackgroundImage() 方法时,出现错误:“AttributeError: 'VState' object has no attribute 'vBackground'”

.kv文件:

...

source: 'atlas://' + root.setBackgroundImage()

但是当我在没有引用任何属性的情况下运行上面的代码时,它会再次完成......没有行

print (self.vBackground)

它会完成的。为什么我不能引用 kv 文件中的任何属性?

感谢您提供一些想法...

最佳答案

kv 首先在小部件 __init__ 期间评估,在本例中发生在您设置 self.vBackground 之前的 super 调用中。

您可以改为将顺序更改为

self.vBackground = 'my_background'
super(VState, self).__init__(**kwargs)

使用 StringProperty 可能会更好。

关于python - Kivy - 错误 : "object has no attribute" when I called it from . kv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27888995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com