跳到主要内容

复选框

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

示例

在线示例

基本复选框

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=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)

属性

active_color

复选框选中时使用的颜色

adaptive

如果值为 True,则基于目标平台创建自适应复选框。

在 iOS 和 macOS 上,会创建 CupertinoCheckbox,它具有与 Checkbox 相同的功能和展示效果,并符合 iOS 上的图形预期。在其他平台上,会创建一个 Material 复选框。

默认值为 False。使用示例请参见此处

autofocus

如果为 True,则该控件将作为初始焦点被选中。如果页面上有多个控件设置了自动聚焦,则第一个添加到页面的控件将获得焦点。

border

复选框的边框颜色和宽度,当复选框的value值为 False 时呈现。

check_color

复选框选中时使用的复选标记的颜色

fill_color

复选框在各种ControlState 状态下填充的颜色

hover_color

当复选框被悬停时使用的颜色

is_error

复选框是否显示错误状态。当值为 True 时,复选框将有不同的默认容器颜色和复选标记颜色。默认为 False

label

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

label_style

标签的样式。类型为 TextStyle 的实例。

label_position

定义 label 显示在复选框的哪一侧。属性值为 LabelPosition 。默认值为 LabelPosition.RIGHT

mouse_cursor

当鼠标指针进入或悬停在此控件上时显示的光标。 值为 MouseCursor

overlay_color

复选框在各种 ControlState 状态下的覆盖颜色。支持以下 ControlState 值:PRESSED, SELECTED, HOVEREDFOCUSED

semantics_label

复选框的语义标签,不显示在 UI 中,但会在无障碍模式下由屏幕阅读器宣布(例如 TalkBack/VoiceOver)。

shape

复选框的形状。值为 OutlinedBorder 类的实例。

默认值为 RoundedRectangleBorder(radius=2)

splash_radius

圆形 Material 墨水响应(涟漪)的半径,以逻辑像素为单位。默认为 20.0

tristate

如果为 True,复选框的值可以为 True, FalseNone

当复选框的值为 None 时,显示为破折号。

value

复选框的当前值。

事件

on_blur

当控件失去焦点时触发。

on_change

当复选框的状态更改时触发。

on_focus

当控件获得焦点时触发。