gpt4 book ai didi

python - Kivy在访问ListProperty时返回 "AttributeError: ' NoneType'对象没有属性 'bind'

转载 作者:行者123 更新时间:2023-12-01 04:02:29 25 4
gpt4 key购买 nike

我正在尝试创建一个显示图像文件的屏幕,该图像文件的路径存储在 ListProperty 中。我知道错误消息表明 Kivy 正在尝试在创建 ListProperty 之前访问该值,但我不知道如何解决此问题。

这是我的 main.py 脚本中的一个片段,其中属性被初始化为包含单个空字符串的空列表,并调用构建方法:

presentation = Builder.load_file("main.kv")

class MainApp(App):
image_list = ListProperty([''])

def build(self):
return presentation

if __name__ == '__main__':
MainApp().run()

这是 main.kv 中使用该属性的部分:

<Screen1>:
name: 'screen1'
BoxLayout:
orientation: 'horizontal'
Picture:
source: app.image_string.pop()

抛出的异常如下:

 ...
BuilderException: Parser: File "main.kv", line 71:
...
69: orientation: 'horizontal'
70: Picture:
>> 71: source: app.image_string.pop()
72:

任何有关如何解决此问题的指导将不胜感激。谢谢!

编辑读者FIns指出我调用的是image_string而不是image_list,但即使在进行更正后,我还是得到了同样的错误:

BoxLayout:
orientation: 'horizontal'
Picture:
source: app.image_list.pop()
BuilderException: Parser: File "main.kv", line 71:

还有...

 BuilderException: Parser: File "main.kv", line 71:
...
69: orientation: 'horizontal'
70: Picture:
>> 71: source: app.image_list.pop()

最佳答案

在构建方法中加载 kivy 设计语言在此示例中有效:

from kivy.app import App 
from kivy.properties import ListProperty
from kivy.base import Builder

class MainApp(App):
image_list = ListProperty([''])

def build(self):
presentation = Builder.load_string("""
Screen:
name: 'screen1'
BoxLayout:
Image:
source: app.image_list.pop()
""")

return presentation

if __name__ == '__main__':
MainApp().run()

关于python - Kivy在访问ListProperty时返回 "AttributeError: ' NoneType'对象没有属性 'bind',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240587/

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