0
リストのファイル(ここでは簡略化されています)からリストを作成し、そのリストをスクロールできます。個々のリストエントリは次のように構成されていますKivy Labelでテキストを揃えることができません
----------------------- |
|nm_lbl | |
----------------------- | |
|amt_lbl | sym_lbl| } sub_sub_cont } sub_cont
----------------------- | |
次のように私のアプローチは、次のとおりです。
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.scrollview import ScrollView
def populate_list(lst):
lst.clear_widgets()
inv_lst = [[123, "xyz", "abc"],[123, "xyz", "abc"],[123, "xyz", "abc"],
[123, "xyz", "abc"]]
for i in inv_lst:
sym_lbl = Label(text=str(i[0]), size_hint_y=None, height=15, halign="right")
nm_lbl = Label(text=str(i[1]), size_hint_y=None, height=15, halign="left")
amt_lbl = Label(text=str(i[2]), size_hint_y=None, height=15, halign="left")
sub_cont = GridLayout(cols=1, rows=2, size_hint_y=None)
sub_cont.add_widget(nm_lbl)
sub_sub_cont = GridLayout(cols=2, rows=1, size_hint_y=None)
sub_cont.add_widget(sub_sub_cont)
sub_sub_cont.add_widget(amt_lbl)
sub_sub_cont.add_widget(sym_lbl)
lst.add_widget(sub_cont)
class MainApp(App):
def build(self):
return container
some_list=GridLayout(cols=1, size_hint_y=0)
populate_list(some_list)
container = GridLayout(cols=1)
scroller = ScrollView()
container.add_widget(scroller)
scroller.add_widget(some_list)
app = MainApp()
app.run()
テキストのすべてが、それぞれのラベルの中央に配置されているという事実を除き、意図したとおり、このコードは動作しますが、私はhalign="right"
またはhalign="left"
をラベルに使用しています。
私は間違っていますか?
申し訳ありませんが、私はコードを編集しました。私はいくつかのインデントの問題がありました。そして、あなたの助けに感謝して、あなたのソリューションは完璧に機能しました! –