簡述
ColorProperty類專門存放kivy中的rgba顏色串列,預設值為[1.0, 1.0, 1.0, 1.0](白色)。
基本範例
在main.py中寫上此段程式碼:
from kivy.app import App from kivy.uix.stacklayout import StackLayout from kivy.properties import ColorProperty class MyLayout(StackLayout) : a1 = ColorProperty([.134,.558,.944]) def btn1(self): self.a1 = 'sandybrown' def on_a1(self,instance,x): print('color change to {}'.format(self.a1)) class Myapp(App): def build(self): return MyLayout() if __name__ == '__main__': Myapp().run()
在以上程式碼中,我在MyLayout中宣告a1為ColorProperty類,其值為[.134,.558,.944],並宣告btn1方法,當btn1方法被呼叫時,a1的值被指定為'sandybrown',最後,當a1發生改變時,自動呼叫on_a1方法,列印'color change to {}'.format(self.a1)
在my.kv中寫上此段程式碼:
<MyLayout>: orientation: 'rl-tb' canvas: Color: rgb: root.a1 Rectangle: pos: self.pos size: self.size Button: text: 'A1' size_hint: 0.3,0.3 on_press: root.btn1()
在以上程式碼中,我指定canvas的rgba為root.a1(root即為MyLayout)
執行結果如下:
ColorProperty使用技巧:
1.如基本範例所示,ColorProperty()中不只可以填入list還可以填入字串
一些實用的顏色可以參考以下網址:
https://www.w3.org/TR/SVG11/types.html#ColorKeywords
沒有留言:
張貼留言