【发布时间】:2021-04-14 19:09:58
【问题描述】:
我使用的是 kivymd MDList,但我遇到了问题。
我的代码:
from kivymd.app import MDApp
from kivy.lang.builder import Builder
example_list = ['a', 'b', 'c']
KV = """
ScrollView:
MDList:
id: List
"""
ListItem = """
OneLineAvatarListItem:
id: item
text: ""
ImageLeftWidget:
source: "icon.png"
"""
class MainApp(MDApp):
def build(self):
return Builder.load_string(KV)
def on_start(self):
for letter in example_list:
self.root.ids.item.text = letter
self.root.ids.List.add_widget(Builder.load_string(ListItem))
MainApp().run()
我想显示像this这样的列表,但是我的代码出现了这个错误:
Traceback (most recent call last):
File "kivy\properties.pyx", line 861, in kivy.properties.ObservableDict.__getattr__
KeyError: 'item'
我认为ListItem 不是root,但我不知道如何解决。
如何更改 ListItem 的文本属性?
【问题讨论】:
-
好像没有,我用的KivyMD不是很多,但是看到小部件,那边没有text属性
-
好的。我的错。 ListItem 中有文本属性。我会编辑。
-
我认为你需要创建一个普通的BoxLayout并为每个字母添加一个ListItem
-
哦。我绝对不想那样做……有没有办法用循环来做到这一点?
-
哦,诺诺,你会用循环,给我一些时间,我会尽力回答
标签: list kivy python-3.8 kivymd