2013-10-30 52 views
0

我有一個自定義的按鈕小部件被定義爲一個python類和kivy標記。我希望字體被設置爲默認大小(假設'50sp'),除非font_size參數傳遞給Button,在這種情況下,字體大小應該是傳遞的任何值。代碼如下:用kivy語言設置條件字體大小?

蟒蛇:

class Custom_Button(Button): 
    ... 

kivy:

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

的問題是,它不會繼續執行 '50SP' 條款。如果font_size參數在創建時未傳遞給Button對象的實例,則將使用kivy的默認字體大小。對造成這種行爲的原因有什麼想法以及如何處理的建議?謝謝。

回答

1

爲什麼不把self.font_size設置爲50sp?這樣它總是默認的,除非用戶提供了一些東西。

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

你也可以做到這一點在千伏的語言,我覺得用戶提供的價值仍然會覆蓋您提供力所能及的默認位置:

<Custom_Button>: 
    font_size: sp(50) 
+0

謝謝,惡劣。這就是我想要完成的。看來我的原始問題是基於對應用程序行爲的誤解。編碼的好日子... –