2016-12-19 5 views
0

Это делает две вкладки для каждого TabbedPanelItem плюс вкладку по умолчанию. Почему это происходит и как я могу это предотвратить?Почему этот код создает две копии виджетов?

Kivy: :

TabbedPanelItem: 
     text: 'List' 

    TabbedPanelItem: 
     text: 'Add/Edit' 

    TabbedPanelItem: 
     text: 'Delete' 

Python:

from kivy.app import App 
from kivy.lang import Builder 
from kivy.uix.tabbedpanel import TabbedPanel 

presentation = Builder.load_file('my.kv') 

class Panel(TabbedPanel): 
    pass 

class MyApp(App): 
    def build(self): 
     return Panel() 

if __name__ == '__main__': 
    MyApp().run() 

ответ

0

Ваш файл киловольт загружается в два раза, один раз вашего явного Builder.load_file и когда-то неявно, потому что он имеет такое же имя, что и класс App (но в нижнем регистре и без приложения, как и ожидалось для загружаемого файла kv по умолчанию).

Удалить явное Builder.load_file, и оно должно работать.