警告:忽略课程"标签"重新申报

时间:2016-03-27 11:55:25

标签: python warnings kivy kivy-language

为了制作所有标签'文本支持标记我在我的kivy文件顶部使用以下kivy语言代码:

<Label@Label>:
    markup: True

稍后使用时:

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

我得到一个标签,文字'Dog'按预期加粗。因此,我的所有标签都按预期将markup设置为True

但是,我收到以下警告:

[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.

为什么我会收到此警告?我应该以不同的方式做某事吗?

1 个答案:

答案 0 :(得分:2)

只需使用

<Label>:
    markup: True

使用@表示法,您声明了从Label派生的新dynamic subclass Label

在kv lang中创建类似<MyLabel@Label>:的动态类很有用,特别是如果稍后在python中不需要对类的引用,以防止重新定义行为可能引起的任何冲突({{1在其他默认Label中广泛使用,并且通常更改其属性可能会无意中影响其他小部件的外观和感觉。