0

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

Python:

class Custom_Button(Button):
    ...

基维:

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

问题是它永远不会到达“50sp”条款。如果在创建 Button 对象时没有将 font_size 参数传递给它的实例,则将使用 kivy 的默认字体大小。知道是什么原因导致了这种行为以及如何做的建议吗?谢谢你。

4

1 回答 1

2

为什么不将 self.font_size 设置为 50sp?这样它总是默认的,除非用户提供了一些东西。

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

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

<Custom_Button>:
    font_size: sp(50)
于 2013-10-30T21:20:34.873 回答