分段按钮
Material 按钮,允许用户从有限的选项集中选择,通常用于只有 2-5 个选项的情况。
示例
- Python
import flet as ft
def main(page: ft.Page):
def handle_change(e):
print("on_change data : " + str(e.data))
page.add(
ft.SegmentedButton(
on_change=handle_change,
selected_icon=ft.Icon(ft.icons.ONETWOTHREE),
selected={"1", "4"},
allow_multiple_selection=True,
segments=[
ft.Segment(
value="1",
label=ft.Text("1"),
icon=ft.Icon(ft.icons.LOOKS_ONE),
),
ft.Segment(
value="2",
label=ft.Text("2"),
icon=ft.Icon(ft.icons.LOOKS_TWO),
),
ft.Segment(
value="3",
label=ft.Text("3"),
icon=ft.Icon(ft.icons.LOOKS_3),
),
ft.Segment(
value="4",
label=ft.Text("4"),
icon=ft.Icon(ft.icons.LOOKS_4),
),
],
)
)
ft.app(target=main)
SegmentedButton
属性
allow_empty_selection
一个布尔值,指示是否允许没有选定的分段。
如果为 True
,那么没有选定的分段是允许的,也可以将 selected
设置为空。
如果为 False
(默认),则至少有一个分段必须被选定。如果用户点击唯一的选定分段,它将不会被 deselected,并且 on_change
不会被调用。
allow_multiple_selection
一个布尔值,指示是否允许多个分段同时被选定。
如果为 True
,那么多个分段可以被选定。当选择一个分段时,其他 selected
分段将保持选定状态。选择一个已经选定的分段将取消其选定状态。
如果为 False
(默认),那么只能选择一个分段。当选择一个分段时,之前选定的分段将被取消选定。
segments
一个必需的参数,描述按钮中的分段。它是一个 Segment
对象的列表。
selected
一个集合,包含选定的分段的值。它会在用户(取消)选定分段时更新。
selected_icon
一个 Icon
控件,用于指示分段被选定。
如果 show_selected_icon
为 True
,那么对于选定的分段,这个图标将在 Segment.label
之前显示,替换 Segment.icon
如果它被指定。
默认为一个带有 CHECK
图标的 Icon
。
show_selected_icon
一个布尔值,指示是否在选定的分段中显示 selected_icon
。
如果为 True
,那么 selected_icon
将在选定的分段中显示。
如果为 False
,那么 selected_icon
不会被使用,也不会在选定的分段中显示。
style
自定义按钮的外观。该值是一个 ButtonStyle
类的实例。
事件
on_change
当选择改变时触发。
Segment
属性
disabled
确定分段是否可供选择。
icon
分段中显示的图标(通常是一个 Icon
)。
label
分段中显示的标签(通常是一个 Text
)。
tooltip
分段的工具提示。
value
用于标识 Segment
的值。