0

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が見つかりません。

どうしたの?

ありがとう、ギャル

4

1 に答える 1

0

ID は kv でのみ設定できます。代わりに、別の方法でオブジェクト参照を追跡できます。たとえば、リストに保持することができます。

于 2016-06-19T14:53:03.700 に答える