我正在尝试创建一个显示图像文件的屏幕,该文件的路径存储在 ListProperty 中。我了解错误消息表明 Kivy 正在尝试在创建 ListProperty 之前访问该值,但我不知道如何解决此问题。
这是我的 main.py 脚本中的一个片段,其中属性被初始化为一个包含单个空字符串的空列表,并且调用了 build 方法:
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()