用kivy语言设置条件字体大小?

时间:2013-10-30 19:31:10

标签: kivy

我有一个自定义Button Widget,它被定义为python类和kivy标记。我希望将字体设置为默认大小(假设为'50sp'),除非将font_size参数传递给Button,在这种情况下,字体大小应该是传递的值。代码如下:

蟒:

class Custom_Button(Button):
    ...

kivy:

<Custom_Button>:
    ...
    font_size = self.font_size if self.font_size else '50sp'

问题在于它永远不会达到'50sp'条款。如果在创建Button对象时没有将font_size参数传递给它,则将使用kivy的默认字体大小。任何导致这种行为的原因和建议怎么做?谢谢。

1 个答案:

答案 0 :(得分:1)

为什么不将self.font_size设置为50sp?这样,除非用户提供了某些内容,否则它始终是默认值。

class Custom_Button(Button):
    font_size = NumericProperty('50sp')

您也可以用kv语言执行此操作,我认为用户提供的值仍将覆盖您在此处提供的任何默认值:

<Custom_Button>:
    font_size: sp(50)