3 回答
TA贡献1834条经验 获得超8个赞
ListAdapter不是窗口小部件,因此您无法使用尝试使用的语法。我认为,为使代码更具Kivyonic外观,您可以采取的最接近的措施如下。注意,我更改了导入。这看起来类似于向画布添加指令的方式:
Builder.load_string("""
#:import ListItemButton kivy.uix.listview.ListItemButton
#:import ListAdapter kivy.adapters.listadapter.ListAdapter
<ListViewModal>:
size_hint: None, None
size: 400, 400
ListView:
size_hint: .8, .8
adapter:
ListAdapter(data=["Item #{0}".format(i) for i in range(100)], cls = ListItemButton)
""")
** 编辑 **
您还更改了size_hint,因此先前的代码看起来与原始代码有很大不同。这看起来像是原始的。
Builder.load_string("""
#:import ListItemButton kivy.uix.listview.ListItemButton
#:import ListAdapter kivy.adapters.listadapter.ListAdapter
<ListViewModal>:
ListView:
size_hint: .8, .8
adapter:
ListAdapter(data=["Item #{0}".format(i) for i in range(100)], cls = ListItemButton)
""")
TA贡献1815条经验 获得超6个赞
我不确定这个答案,但您没有在此adapter属性中添加任何内容。尝试这个:
Builder.load_string("""
#:import ListItemButton kivy.uix.listview
#:import ListAdapter kivy.adapters.listadapter
<ListViewModal>:
size_hint: None, None
size: 400, 400
ListView:
size_hint: .8, .8
adapter:
ListAdapter.ListAdapter:
data: ["Item #{0}".format(i) for i in range(100)]
cls: ListItemButton.ListItemButton
""")
我同意sla.ListAdapter不清楚。通常我们可以直接访问该类。告诉我这是否有效:
Builder.load_string("""
#:import ListItemButton kivy.uix.listview.ListItemButton
#:import ListAdapter kivy.adapters.listadapter.ListAdapter
<ListViewModal>:
size_hint: None, None
size: 400, 400
ListView:
size_hint: .8, .8
adapter:
ListAdapter:
data: ["Item #{0}".format(i) for i in range(100)]
cls: ListItemButton
""")
请注意,我更改了ListItemButton和的导入ListAdapter。
添加回答
举报