ListPropertyにパスが保存されている画像ファイルを表示する画面を作成しようとしています。私は、ListPropertyが作成される前にKivyが値にアクセスしようとしていることを示すエラーメッセージが表示されることを理解していますが、これを修正する方法はわかりません。ListPropertyにアクセスするときに、AttributeError: 'NoneType'オブジェクトに属性 'bind'がありません。
ここではプロパティは、単一の空の文字列を含む空のリストに初期化され、ビルドメソッドが呼び出された私の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リーダーフィンは、私が代わりにIMAGE_LISTのimage_stringを呼んでいたことを指摘し、それでも補正を行った後、私は同じエラーを取得:
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'を宣言しましたが、main.kvで' image_string'を使用しました – fins
Oop!あなたが正しい。私はListPropertyとStringPropertyを試していましたが、それでも私の問題は解決しません。その構文エラーを修正しても、私は同じ動作をします。 – DevilsFan