目录
开关¶
在 1.0.7 版本加入.
Switch 控件类似于机械电灯开关,具有激活或未激活两种状态。用户可以通过向左/向右滑动来激活或停用它:
switch = Switch(active=True)
要附加一个监听激活状态的回调函数:
def callback(instance, value):
print('the switch', instance, 'is', value)
switch = Switch()
switch.bind(active=callback)
默认情况下,控件的表示是静态的。所需的最小尺寸为83x32像素(由背景图像定义)。图像在控件内居中显示。
整个控件都是激活的,不仅仅是带有图形的部分。只要你在控件的边界框内滑动,它就会生效。
备注
如果你希望通过单次触摸而非滑动来控制状态,请改用 ToggleButton。
Kv 示例:
BoxLayout:
Label:
text: 'power up'
Switch:
id: switch
Label:
text: 'woooooooooooh' if switch.active else ''
- class kivy.uix.switch.Switch(**kwargs)[源代码]¶
基类:
WidgetSwitch 类。更多信息请参阅模块文档。
- active¶
指示开关是处于激活状态还是非激活状态。
active是一个BooleanProperty,默认值为 False。
- active_norm_pos¶
(内部)包含开关内可移动元素的归一化位置,范围在0-1之间。
active_norm_pos是一个NumericProperty,默认值为 0。
- on_touch_down(touch)[源代码]¶
接收触摸按下事件。
- 参数:
- touch:
MotionEvent类 收到触摸事件。该触摸位于父级坐标系中。关于坐标系统的讨论,请参阅
relativelayout。
- touch:
- 返回:
bool 如果为 True,触摸事件的派发将停止。如果为 False,事件将继续派发给控件树中的其余部分。
- on_touch_move(touch)[源代码]¶
接收触摸移动事件。触摸坐标位于父级坐标系中。
更多信息请参阅
on_touch_down()。
- on_touch_up(touch)[源代码]¶
接收触摸抬起事件。触摸坐标位于父级坐标系中。
更多信息请参阅
on_touch_down()。
- touch_control¶
(内部)包含当前与开关交互的触摸。
touch_control是一个ObjectProperty,默认值为 None。
- touch_distance¶
(内部)包含触摸初始位置与当前位置之间的距离,用于判断滑动是从左侧还是右侧发起。
touch_distance是一个NumericProperty,默认值为 0。