前提・実現したいこと
kivy2.0でループ処理を使って大量のLabelを配置したい
発生している問題・エラーメッセージ
kivy初学者です。何日も勉強しているのですがネット上の情報が少なく挫折しております。
実現したいのはある大量の文字が入ったリストをループ処理してその文字が書かれたラベルをその数だけ表示することです。
例えば[1~100の数字が入ったリスト]をBoxlayout(vertical)ですべて表示し一覧できるようにしたいんです。
1
2
3
.
.
の様な感じです
一見簡単なことですし、pythonだけでの実現はできました。しかしkivy言語を用いての記述ができなくて困っています。
こちらがpythonのみで実現したコードです。
これをkivy言語を交えて書けるようになりたいのです。ソースコードすべて書いて教えてくださいとは言いません。書き方だけでも教えていただけないでしょうか...
pythonのみで書いたコード
python
1from kivy.app import App 2from kivy.uix.boxlayout import BoxLayout 3from kivy.uix.label import Label 4from kivy.uix.scrollview import ScrollView 5 6class hoge(App,ScrollView): #ScrollView も継承してスクロールできるようにしています 7 def build(self): 8 self.box = BoxLayout() #全体のレイアウト用 9 self.box.orientation = "vertical" #縦並びにしてます 10 self.box.size_hint_y = 10 #これを指定しないとスクロールできないので 11 12 list = [str(i) for i in range(100)] #今回使用する大量のデータが入ったリストの例 13 14 for i in list: #それをループしてラベルにしてます 15 self.lbl = Label(text=i) 16 self.box.add_widget(self.lbl) 17 self.add_widget(self.box) 18 19 return self
試したこと
自分なりにいろいろと書いてみたのですがどうもkivy言語とpythonを絡めるのが苦手で書けませんでした...
補足情報(FW/ツールのバージョンなど)
windows 11
python 3.9
kivy 2.0
初めての投稿なので不足な情報などありましたら教えていただけると幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー