跳到主要内容

滑块 Slider

滑块提供了可调整内容的可视指示,以及在内容总范围内的当前设置。

当您希望用户设置定义的值(例如音量或亮度),或者当用户从设置更改中获得即时反馈时,可以使用滑块。

示例

实时示例

基本滑块

import flet as ft

def main(page):
page.add(
ft.Text("默认滑块:"),
ft.Slider(),
ft.Text("默认禁用滑块:"),
ft.Slider(disabled=True))

ft.app(target=main)

带有值的滑块

import flet as ft

def main(page):
page.add(
ft.Text("带有值的滑块:"),
ft.Slider(value=0.3),
ft.Text("带有自定义范围和标签的滑块:"),
ft.Slider(min=0, max=100, divisions=10, label="{value}%"))

ft.app(target=main)

带有on_change事件的滑块

import flet as ft

def main(page):

def slider_changed(e):
t.value = f"滑块的值已更改为 {e.control.value}"
page.update()

t = ft.Text()
page.add(
ft.Text("带有'on_change'事件的滑块:"),
ft.Slider(min=0, max=100, divisions=10, label="{value}%", on_change=slider_changed), t)

ft.app(target=main)

属性

active_color

用于表示滑块轨道上处于活动状态的部分的颜色

滑块的"活动"一侧是指在滑块和最小值之间的一侧。

adaptive

如果值为 True,则根据目标平台是 iOS 还是 macOS 创建自适应滑块。

在 iOS 和 macOS 上,会创建一个 CupertinoSlider,它的功能和展示与 Slider 相匹配,并且是 iOS 上预期的图形。在其他平台上,会创建一个 Material 滑块。

默认值为 False

autofocus

如果控件将被选择为初始焦点,则为True。如果页面上有多个设置了autofocus的控件,则首先添加到页面的控件将获得焦点。

divisions

离散分区的数量。

通常与label一起使用,以显示当前离散值。

如果未设置,则滑块是连续的。

inactive_color

滑块轨道上处于非活动状态的部分的颜色

滑块的"非活动"一侧是指在滑块和最大值之间的一侧。

label

使用{value}进行格式化。

当滑块处于活动状态时,在滑块上方显示的标签。label的值可以包含{value},它将被当前滑块值替换。

它用于显示离散滑块的值,并作为值指示器形状的一部分显示。

如果未设置,则不会显示值指示器。

max

用户可以选择的最大值。

默认为1.0。必须大于或等于min

如果max等于min,则滑块被禁用。

min

用户可以选择的最小值。

默认为0.0。必须小于或等于max

如果max等于min,则滑块被禁用。

round

显示在包含valuelabel上的小数位数。默认值为0(显示四舍五入到最近整数的值)。

thumb_color

拇指的颜色

value

此滑块当前选择的值。

滑块的拇指将在与此值对应的位置绘制。

事件

on_blur

当控件失去焦点时触发。

on_change

当滑块的状态发生变化时触发。

on_change_end

当用户完成对滑块选择新值的操作时触发。

on_change_start

当用户开始选择滑块的新值时触发。

on_focus

当控件获得焦点时触发。