警告:忽略 class "Label" 重新声明
WARNING: Ignored class "Label" re-declaration
为了使所有标签的文本都支持标记,我在我的 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.
为什么我会收到此警告?我应该以不同的方式做某事吗?
只需使用
<Label>:
markup: True
使用 @
表示法,您可以声明一个新的 dynamic subclass Label
派生自 Label
.
在 kv lang 中创建一个像 <MyLabel@Label>:
的动态 class 很有用,特别是如果稍后在 python 中不需要对 class 的引用,以防止重新定义行为可能引起的任何冲突(Label
在其他默认 Widget
中广泛使用,并且通常更改其属性可能会无意中影响其他小部件的外观)。
为了使所有标签的文本都支持标记,我在我的 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.
为什么我会收到此警告?我应该以不同的方式做某事吗?
只需使用
<Label>:
markup: True
使用 @
表示法,您可以声明一个新的 dynamic subclass Label
派生自 Label
.
在 kv lang 中创建一个像 <MyLabel@Label>:
的动态 class 很有用,特别是如果稍后在 python 中不需要对 class 的引用,以防止重新定义行为可能引起的任何冲突(Label
在其他默认 Widget
中广泛使用,并且通常更改其属性可能会无意中影响其他小部件的外观)。