我想通过stringarray动态地在Kivy中创建TabbedPanel:
tg_folders = [['0','Folder1'],['1','Folder2']]
tgflen=len(tg_folders)
for i in range(0,tgflen):
fl_id = 'fl-'+tg_folders[i][0]
menu_screen.ids.tg_folder_list.add_widget(TabbedPanelItem(height=0,
id = fl_id,
text = tg_folders[i][1] ))
没关系,tg_folder_list是我的TabbedPanel的ID。
然后我尝试向TabbedPanelItem添加一个新元素:
menu_screen.ids[fl_id].add_widget(Label(height=1,
text = tg_folders[i][1]
))
运行Python说:
KeyError: 'fl-0'
当我尝试print (menu_screen.ids)
时,我无法找到此ID。
出了什么问题?
谢谢,胆
答案 0 :(得分:0)
ids只能用kv设置。你可以用另一种方式跟踪对象参考,例如将它们保存在列表中。