添加进度条以弹出kv语言

时间:2016-06-30 13:58:24

标签: python kivy

我正在尝试使用kv语言将ProgressBar添加到PopUp 根据文档,我必须将ProgressBar作为content传递给它。

但它给出了错误。

<DownPop>:
    size_hint: .5, .5
    auto_dismiss: False
    title: 'Downloading'
    content:
        ProgressBar:
            value: 50
            max: 100
    Button:
        text: 'Click me to dismiss'
        on_press: root.dismiss()

错误追溯:

 ...
      62:    content:
      63:        ProgressBar:
 >>   64:            value: 50
      65:            max: 100
      66:    Button:
 ...
 Invalid indentation (too many levels)

1 个答案:

答案 0 :(得分:0)

是的,这不会发生。如果我是对的,content主要用于python方面。

它用于窗口小部件add_widget(content)中的__init__(),因为它需要放在窗口小部件的某个位置,例如弹出窗口是使用Label,Button,一些条带等+中心空白空间构建的,它是content的存储器,并且从init中添加了该内容。内容基本上是您要添加到使用该属性的窗口小部件的占位符。

在kv中,你可以像以前一样简单地添加一个新的小部件:

<DownPop>:
    size_hint: .5, .5
    auto_dismiss: False
    title: 'Downloading'
    ProgressBar:
        value: 50
        max: 100

但是某些小部件存在限制,因为在某些小部件中只允许使用一个小部件。然后它基本上告诉你使用一个布局,如下所示:

<DownPop>:
    size_hint: .5, .5
    auto_dismiss: False
    title: 'Downloading'
    BoxLayout:
        ProgressBar:
            value: 50
            max: 100
        ManyOtherWidgets