Я пытаюсь создать экран, который отображает файл изображения, путь которого хранится в ListProperty. Я понимаю, что сообщение об ошибке указывает, что Kivy пытается получить доступ к значению до создания ListProperty, но я не знаю, как это исправить.Kivy возвращает «AttributeError: объект« NoneType »не имеет атрибута« bind »при доступе к 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:
Любые рекомендации относительно того, как исправить это, будут высоко оценены. Благодаря!
EDIT Читатель 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()
в приложении вы объявили 'image_list', но вы использовали' image_string' в main.kv – fins
Oop! Ты прав. Я экспериментировал с ListProperty и StringProperty, но это все еще не решает мою проблему. Даже если я исправлю эту синтаксическую ошибку, я получаю такое же поведение. – DevilsFan