在Kivy中的Switch小部件只有两种状态:用户可以通过向左/向右滑动来激活或停用它。在默认情况下,小部件的表示形式是静态的,所需的最小尺寸为83X32像素(由背景图片定义)。除此之外也可以使用点击的方式来激活,但是这里更推荐使用上一节中的ToggleButton属性方式。具体如下表:
Switch常用属性
属性 | 说明 |
active | 开关是否处于活动状态,默认为False |
active_norm_pos | Switch内的可移动元素的标准化位置,范围为0-1,默认为0 |
touch_control | 当前与开关交互的触摸,默认为None |
touch_distance | 触摸的初始位置和当前位置之间的距离,以确定滑动是从左侧还是右侧,默认为0 |
on_active | 激活时触发该事件 |
实例:添加Switch开关
想要添加Switch开关的话,首先要新建一个main.py文件,在其中定义一个回调方法,具体代码如下:
- from kivy.app import App
- from kivy.uix.boxlayout import BoxLayout
-
- class SwitchWidget(BoxLayout):
- def __init__(self,**kwargs):
- super().__init__(**kwargs)
-
-
- def callback(self):
- print('Callback is running')
-
- class SwitchApp(App):
- def build(self):
- return SwitchWidget()
-
-
- if __name__ == '__main__':
- from kivy.core.window import Window
- Window.clearcolor = [.8,.8,.8,1]
- SwitchApp().run()
根据main.py文件中SwitchApp()类,新建switch.kv文件,内容如下:
- <SwitchWidget>:
- Switch:
- id:switch
- on_active:root.callback()
运行main.py文件,当激活开关时,会触发on_active事件,后台输出相关信息,结果如下图:
下一篇: 简单UX部件——Video视频