2016-03-27 3 views
1

Um alle Labels' Text-Unterstützung Markup ich folgende Kivy-Sprachcode an der Spitze meiner Kivy-Datei verwenden zu machen:WARNUNG: Ignoriert Klasse „Label“ re-Erklärung

<[email protected]>: 
    markup: True 

Später bei der Verwendung von :

<SomeWidget>: 
    Label: 
     text: '[b]Dog[/b]' 

I wie erwartet ein Etikett mit dem Text 'Dog' fett erhalten wird. Daher haben alle meine Etiketten markup wie erwartet auf True festgelegt.

Allerdings erhalte ich die folgende Warnung:

[WARNING   ] [Factory  ] Ignored class "Label" re-declaration. Current - module: kivy.uix.label, cls: None, baseclass: None, filename: None. Ignored - module: None, cls: None, baseclass: Label, filename: /home/Projects/gui/maingui.kv. 

Warum erhalte ich diese Warnung? Sollte ich etwas anders machen?

Antwort

2

Verwenden Sie einfach

<Label>: 
    markup: True 

Mit der @ Notation Sie einen neuen dynamic subclassLabel von Label abgeleitet erklären.

Es ist nützlich, um eine dynamische Klasse wie <[email protected]>: in kv lang, insbesondere wenn ein Verweis auf die Klasse später nicht in Python erforderlich zu erstellen, alle Auseinandersetzungen zu verhindern, dass die Neudefinition Verhalten (Label verwendet ausgiebig in anderen auftreten könnten Standard Widget s, und seine Eigenschaften im Allgemeinen ändern könnte das Aussehen & Gefühl von anderen Widgets unbeabsichtigt beeinflussen).

Verwandte Themen