【问题标题】:Why is this code is making two copies of the widgets?为什么这段代码要制作两个小部件副本?
【发布时间】:2016-12-19 01:17:09
【问题描述】:

这为每个 TabbedPanelItem 加上默认选项卡创建了两个选项卡。为什么会发生这种情况,我该如何预防?

基维: :

    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()

【问题讨论】:

    标签: python kivy kivy-language


    【解决方案1】:

    您的 kv 文件被加载了两次,一次由您的显式 Builder.load_file 加载,一次是隐式加载,因为它与您的 App 类同名(但小写且没有 App,正如要加载的默认 kv 文件所预期的那样) .

    删除显式的Builder.load_file,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-14
      • 2012-12-28
      • 2020-09-09
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      相关资源
      最近更新 更多