[英]ListView in Kivy (.kv vs .py)
如果我在.kv文件中初始化一個空的ListView,
<Panel>:
do_default_tab: False
size_hint_y: 0.7
TabbedPanelItem:
id: tab_1
text: 'VIEW'
ListView:
id: VIEWlist
adapter:
ListAdapter(
data=[],
args_converter = root.args_converter,
selection_mode='multiple',
cls=ListItemButton
)
如何從.py端向其中添加數據?
您需要訪問VIEWlist.adapter.data
屬性。 一個例子:
from kivy.app import App
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.lang import Builder
Builder.load_string('''
#:import ListItemButton kivy.uix.listview.ListItemButton
#:import ListAdapter kivy.adapters.listadapter.ListAdapter
<Panel>:
size_hint: .5, .5
pos_hint: {'center_x': .5, 'center_y': .5}
do_default_tab: False
TabbedPanelItem:
id: tab_1
text: 'VIEW'
BoxLayout:
orientation: 'vertical'
Button:
text: 'add'
on_press: root.add()
ListView:
id: VIEWlist
adapter:
ListAdapter(
data=[],
selection_mode='multiple',
cls=ListItemButton)
''')
class Panel(TabbedPanel):
def add(self, *args):
self.ids['VIEWlist'].adapter.data.append('txt')
class TabbedPanelApp(App):
def build(self):
return Panel()
if __name__ == '__main__':
TabbedPanelApp().run()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.