Kivy错误:当我从.kv fi调用它时:“object没有属性”

2024-10-01 15:28:43 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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'对象没有属性'vBackground'”

.kv文件:

...

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

但是当我在不引用任何属性的情况下运行上面的代码时,它将再次执行。。。无线路

print (self.vBackground)

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

谢谢你的建议。。。在


Tags: 文件代码nameself属性initmydef
1条回答
网友
1楼 · 发布于 2024-10-01 15:28:43

在小部件__init__期间首先计算kv,在本例中,这发生在您的super call中,然后设置self.vb背景. 在

您可以改为

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

使用StringProperty可能更好。在

相关问题 更多 >

    热门问题