我正在将我的布局从.py文件转移到.kv文件。然而,我在设置自定义标签子类的文字大小时遇到了困难,因为它是相对于父类的。
两个自定义标签类在.py脚本中定义如下。
class BaseLabel(Label):
pass
class SmallLabel(BaseLabel):
pass
而在.kv文件中读作:
<BaseLabel>:
color: 1, 0, 0, 1
font_size: '20sp'
<SmallLabel>:
font_size: 0.8*BaseLabel().font_size
但是最后一行导致错误,说BaseLabel没有定义。我应该如何在kv文件中调整这个错误?
一个简单的方法是在文件中定义一个键。kv
,像这样。
#:set my_font_size sp(20)
<BaseLabel>:
color: 1, 0, 0, 1
font_size: my_font_size
<SmallLabel>:
font_size: 0.8*my_font_size