前提・実現したいこと
Python3.8.1においてkivyを用いて簡単なアプリを作っています。kivyのRecycleViewを用いる際に、アプリ起動時にRecycleViewを表示できずに困っています。
発生している問題・エラーメッセージ
File "D:/Ulthar/Desktop/kivy/main.py", line 21, in __init__ self.testlist.data = [] AttributeError: 'NoneType' object has no attribute 'data'
該当のソースコード
python
1from kivy.app import App 2from kivy.resources import resource_add_path 3from kivy.core.text import LabelBase, DEFAULT_FONT 4from kivy.uix.boxlayout import BoxLayout 5from kivy.uix.recycleview import RecycleView 6 7from kivy.uix.popup import Popup 8from kivy.properties import ObjectProperty, StringProperty, ListProperty 9import os, glob 10from pprint import pprint 11import sqlite3 12import subprocess 13import copy 14import random 15 16 17class RecycleTest(BoxLayout): 18 testlist = ObjectProperty() 19 def __init__(self, **kwargs): 20 super(RecycleTest, self).__init__(**kwargs) 21 self.testlist.data = [] 22 self.testlist.data.append({"display":"test"}) 23 print(self.testlist) 24 25 26class RecycleButton(BoxLayout): 27 display = StringProperty() 28 29 30class TestApp(App): 31 def __init__(self, **kwargs): 32 super(TestApp, self).__init__(**kwargs) 33 34if __name__ == "__main__": 35 TestApp().run() 36
kivy
1RecycleTest 2 3<RecycleTest> 4 testlist: testlist 5 BoxLayout: 6 Label: 7 text: "test" 8 RecycleView: 9 id: testlist 10 viewclass: "RecycleButton" 11 RecycleBoxLayout: 12 orientation: "vertical" 13 default_size_hint: 1,None 14 default_size: None,dp(45) 15 size_hint_y: None 16 scaping: 5 17 height: self.minimum_height 18 padding: 10 19 20<RecycleButton> 21 display: "" 22 Label: 23 text: root.display
試したこと
self.testlistがNoneのままでRecycleViewに認識されないのですが、Buttonに関数を当てはめてその制御下でself.testlistを参照すると正常にRecycleViewに認識されます。データベースからリストを参照してアプリ起動時にリスト表示したいのですが何か良い方法はないでしょうか
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/24 14:21