跳到主要内容

多选框 Checkbox

多选框允许从一组中选择一个或多个项目,或在两个互斥选项之间切换(选中或未选中,打开或关闭)。

示例

在线示例

基本多选框

import flet as ft

def main(page):
def button_clicked(e):
t.value = (
f"多选框的值为: {c1.value}, {c2.value}, {c3.value}, {c4.value}, {c5.value}。"
)
page.update()

t = ft.Text()
c1 = ft.Checkbox(label="默认不勾选的多选框", value=False)
c2 = ft.Checkbox(label="默认未定义的三态多选框", tristate=True)
c3 = ft.Checkbox(label="默认勾选的多选框", value=True)
c4 = ft.Checkbox(label="禁用的多选框", disabled=True)
c5 = ft.Checkbox(
label="多选框的label_position='left'", label_position=ft.LabelPosition.LEFT
)
b = ft.ElevatedButton(text="提交", on_click=button_clicked)
page.add(c1, c2, c3, c4, c5, b, t)

ft.app(target=main)

带有 on_change 事件的多选框

import flet as ft

def main(page):
def checkbox_changed(e):
t.value = f"多选框的值更改为 {c.value}"
t.update()

c = ft.Checkbox(label="带有 'change' 事件的多选框", on_change=checkbox_changed)
t = ft.Text()

page.add(c, t)

ft.app(target=main)

属性

adaptive

如果值为 True,则基于目标平台是否为 iOS/macOS 创建一个自适应的多选框。

在 iOS 和 macOS 上,创建一个 CupertinoCheckbox,它具有与 Checkbox 相匹配的功能和显示,并且在 iOS 上的显示图形符合预期。在其他平台上,创建一个 Material 多选框。

默认值为 False。在这里查看一个使用示例/docs/controls/cupertinocheckbox#cupertinocheckbox-and-adaptive-checkbox-example

autofocus

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

check_color

当此多选框被选中时的选中图标的颜色

fill_color

填充多选框的颜色,适用于所有 Material 状态:

  • HOVERED
  • FOCUSED
  • PRESSED
  • DRAGGED
  • SELECTED
  • SCROLLEDUNDER
  • DISABLED
  • ERROR
  • DEFAULT - 默认状态,表示“所有其他状态”。

要配置所有 Material 状态的多选框填充颜色,请将 fill_color 值设置为字面量,例如:

chk.fill_color=ft.colors.GREEN

要为特定的 Material 状态配置填充颜色,请将其值设置为字典,其中键是状态名称。例如,要为 HOVEREDFOCUSED 状态配置不同的填充颜色,并为所有其他状态配置另一种颜色:

chk.fill_color={
ft.MaterialState.HOVERED: ft.colors.GREEN,
ft.MaterialState.FOCUSED: ft.colors.RED,
ft.MaterialState.DEFAULT: ft.colors.BLACK,
}

label

显示在多选框右侧的可点击标签。

label_position

属性值为 LabelPosition 枚举,其中 LabelPosition.RIGHT 是默认值。

tristate

如果值为 True,则多选框的值可以是 TrueFalseNone (null)。

多选框的值为 null 时显示为横线。

value

多选框的当前值。

事件

on_blur

当控件失去焦点时触发。

on_change

当多选框的状态发生变化时触发。

on_focus

当控件获得焦点时触发。