若尚未看過Kivy UIX篇 widget篇 Switch類 attribute篇 講解,建議看完之後對Switch有一定了解在看這篇喔。
根據官網Switch類繼承自 kivy.uix.widget.Widget,因此Switch的event皆來自於此,詳細的可以參考Kivy UIX篇 widget篇 widget類 event篇 講解,基本上是通用的。
在官網中介紹Switch的頁面中雖然有提到一些event,但這些event已經被定義為我們的習慣(例如當按下並放開後,Switch的active會被改變),我認為不應該去改變它,所以這邊就意思意思呈現一個範例。
這邊主要呈現Progress Bar如何被其他widget影響,我想這也是Switch的主要目的。
首先在main.py中寫上起手式:
from kivy.app import App from kivy.uix.gridlayout import GridLayout #先讓MyLayout繼承FloatLayout class MyLayout(GridLayout): pass class Myapp(App): def build(self): return MyLayout() if __name__ == '__main__': Myapp().run()
在my.kv中寫上此段程式碼:
<MyLayout>: a1: b1 rows: 2 Switch: id: b1 Label: text: 'open' if b1.active else 'close'
執行結果如下:
沒有留言:
張貼留言