滑块

_images/slider.jpg

: Slider 控件外观类似滚动条。它支持水平和垂直方向,以及最小/最大值和默认值。

要创建一个从-100到100、初始值为25的滑块:

from kivy.uix.slider import Slider
s = Slider(min=-100, max=100, value=25)

要创建一个垂直滑块:

from kivy.uix.slider import Slider
s = Slider(orientation='vertical')

要创建一个带有红色线条跟踪数值的滑块,可以这样做:

from kivy.uix.slider import Slider
s = Slider(value_track=True, value_track_color=[1, 0, 0, 1])

Kv 示例:

BoxLayout:
    Slider:
        id: slider
        min: 0
        max: 100
        step: 1
        orientation: 'vertical'

    Label:
        text: str(slider.value)
class kivy.uix.slider.Slider(**kwargs)[源代码]

基类:Widget

用于创建滑块(Slider)控件的类。

查看模块文档以获取更多详细信息。

background_disabled_horizontal

水平方向下禁用滑块所使用的背景。

在 1.10.0 版本加入.

background_disabled_horizontal 是一个 StringProperty,默认值为 atlas://data/images/defaulttheme/sliderh_background_disabled

background_disabled_vertical

垂直方向下禁用滑块所使用的背景。

在 1.10.0 版本加入.

background_disabled_vertical 是一个 StringProperty,默认值为 atlas://data/images/defaulttheme/sliderv_background_disabled

background_horizontal

水平方向滑块所使用的背景。

在 1.10.0 版本加入.

background_horizontal 是一个 StringProperty,默认值为 atlas://data/images/defaulttheme/sliderh_background

background_vertical

垂直方向滑块所使用的背景。

在 1.10.0 版本加入.

background_vertical 是一个 StringProperty,默认值为 atlas://data/images/defaulttheme/sliderv_background

background_width

滑块背景的宽度(厚度),在水平和垂直方向上都适用。

background_width 是一个 NumericProperty,默认值为 36sp。

border_horizontal

用于在水平方向上绘制滑块背景的边框。

border_horizontal 是一个 ListProperty,默认值为 [0, 18, 0, 18]。

border_vertical

用于在垂直方向上绘制滑块背景的边框。

border_horizontal 是一个 ListProperty,默认值为 [18, 0, 18, 0]。

cursor_disabled_image

用于绘制禁用滑块光标的图像路径。

cursor_image 是一个 StringProperty,默认值为 atlas://data/images/defaulttheme/slider_cursor_disabled

cursor_height

光标图像的高度。

cursor_height 是一个 NumericProperty,默认值为 32sp。

cursor_image

用于绘制滑块光标的图像路径。

cursor_image 是一个 StringProperty,默认值为 atlas://data/images/defaulttheme/slider_cursor

cursor_size

光标图像的大小。

cursor_size 是 (cursor_width, cursor_height) 属性的 ReferenceListProperty

cursor_width

光标图像的宽度。

cursor_width 是一个 NumericProperty,默认值为 32sp。

max

value 允许的最大值。

max 是一个 NumericProperty,默认值为 100。

min

value 允许的最小值。

min 是一个 NumericProperty,默认值为 0。

on_touch_down(touch)[源代码]

接收触摸按下事件。

参数:
touchMotionEvent

收到触摸事件。该触摸位于父级坐标系中。关于坐标系统的讨论,请参阅 relativelayout

返回:

bool 如果为 True,触摸事件的派发将停止。如果为 False,事件将继续派发给控件树中的其余部分。

on_touch_move(touch)[源代码]

接收触摸移动事件。触摸坐标位于父坐标系中。

更多信息请参阅 on_touch_down()

on_touch_up(touch)[源代码]

接收触摸抬起事件。触摸位于父坐标中。

更多信息请参阅 on_touch_down()

orientation

滑块的朝向。

orientation 是一个 OptionProperty,默认值为 'horizontal'。可取值 'vertical' 或 'horizontal'。

padding

滑块的填充。填充用于图形表示和交互。它防止光标超出滑块边界框的范围。

默认情况下,内边距为16sp。滑块的取值范围在屏幕上减少了内边距的两倍。这样可以绘制宽度为32sp的默认光标,而不会使光标超出控件范围。

padding 是一个 NumericProperty,默认值为 16sp。

range

滑块的范围,格式为(最小值,最大值):

>>> slider = Slider(min=10, max=80)
>>> slider.range
[10, 80]
>>> slider.range = (20, 100)
>>> slider.min
20
>>> slider.max
100

range 是一个 ReferenceListProperty,由 (min, max) 属性组成。

sensitivity

触摸是与整个控件主体发生碰撞,还是仅与滑块手柄部分发生碰撞。

在 1.10.1 版本加入.

sensitivity 是一个 OptionProperty,默认值为 'all'。可取值 'all' 或 'handle'。

step

滑块的步长。

在 1.4.0 版本加入.

确定滑块在 minmax 之间每个间隔或步长的大小。如果值范围不能被步长整除,最后一步将被滑块的最大值所限制。零值将导致尽可能小的间隔/步长,根据滑块的(像素)位置计算得出。

step 是一个 NumericProperty,默认值为 0。

value

滑块当前使用的值。

value 是一个 NumericProperty,默认值为 0。

value_normalized

将 :attr:`range`(最小值/最大值)内的值归一化到 0-1 范围:

>>> slider = Slider(value=50, min=0, max=100)
>>> slider.value
50
>>> slider.value_normalized
0.5
>>> slider.value = 0
>>> slider.value_normalized
0
>>> slider.value = 100
>>> slider.value_normalized
1

你也可以用它来设置实际值,而无需知道最小值和最大值::

>>> slider = Slider(min=0, max=200)
>>> slider.value_normalized = .5
>>> slider.value
100
>>> slider.value_normalized = 1.
>>> slider.value
200

value_normalized 是一个 AliasProperty

value_pos

内部光标的位置,基于归一化值。

value_pos 是一个 AliasProperty

value_track

决定滑块是否应绘制一条线,以指示 minvalue 属性值之间的空间。

value_track 是一个 BooleanProperty,默认值为 False。

value_track_color

value_line 的颜色,采用 rgba 格式。

value_track_color 是一个 ColorProperty,默认值为 [1, 1, 1, 1]。

在 2.0.0 版本发生变更: ListProperty 更改为 ColorProperty

value_track_width

轨道线的宽度。

value_track_width 是一个 NumericProperty,默认值为 3dp。