Kivy:dinamic TabbedPanel上的ID错误

时间:2016-06-19 12:41:32

标签: python kivy kivy-language

我想通过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。

出了什么问题?

谢谢,胆

1 个答案:

答案 0 :(得分:0)

ids只能用kv设置。你可以用另一种方式跟踪对象参考,例如将它们保存在列表中。