2016-06-30 12 views
0

Ich versuche ProgressBar zu PopUp mit der kv-Sprache hinzuzufügen.
Laut der Dokumentation muss ich die ProgressBar an sie als content übergeben.Hinzufügen von Progressbar zu pop-up kv Sprache

Aber es gibt Fehler.

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

Fehler Traceback:

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

Antwort

0

Yup, das wird nicht passieren. content ist hauptsächlich für Python Seite, wenn ich recht habe.

Es wird für add_widget(content) in __init__() eines Widgets verwendet, da es irgendwo innerhalb des Widgets platziert werden muss, z. Popup wird mit Label, Button, etwas Strip etc + Leerzeichen in der Mitte erstellt, das für content reserver ist und von diesem Inhalt in init hinzugefügt wird. Inhalt ist im Grunde ein Platzhalter für alles, was Sie zum Widget hinzufügen möchten, das dieses Attribut verwendet.

Innen kv können Sie einfach ein neues Widget hinzufügen, wie Sie es gewohnt sind:

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

Aber es gibt Grenzen für einige Widgets, weil nur in einigen ein Widget erlaubt. Dann sagt es Ihnen im Grunde, ein Layout zu verwenden, das wie folgt aussieht:

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