跳到主要内容

Tabs 选项卡

选项卡控件用于导航经常访问的、不同的内容类别。选项卡允许在两个或多个内容视图之间进行导航,并通过文本标题来表达不同的内容部分。

示例

实时示例

选项卡

import flet as ft

def main(page: ft.Page):

t = ft.Tabs(
selected_index=1,
animation_duration=300,
tabs=[
ft.Tab(
text="Tab 1",
content=ft.Container(
content=ft.Text("This is Tab 1"), alignment=ft.alignment.center
),
),
ft.Tab(
tab_content=ft.Icon(ft.icons.SEARCH),
content=ft.Text("This is Tab 2"),
),
ft.Tab(
text="Tab 3",
icon=ft.icons.SETTINGS,
content=ft.Text("This is Tab 3"),
),
],
expand=1,
)

page.add(t)

ft.app(target=main)

Tabs 属性

animation_duration

切换选项卡时的动画持续时间(毫秒)。默认值为 50

divider_color

分隔线的颜色

indicator_border_radius

指示器圆角的半径。

indicator_border_side

在所选选项卡下方绘制的水平线的颜色和粗细。

indicator_color

所选选项卡下方线条的颜色

indicator_padding

相对于选项卡边界,定位所选选项卡下划线的位置。可以使用 indicator_tab_size 属性来定义选项卡指示器的边界,以基于其(居中对齐)选项卡部件为 False,或基于整个选项卡为 True

indicator_tab_size

设置为 True 以将指示器占满整个选项卡。

label_color

所选选项卡标签的颜色

overlay_color

定义墨水响应的焦点、悬停和溅泼颜色。如果指定了此属性,则会基于 MaterialState.FOCUSEDMaterialState.HOVEREDMaterialState.PRESSED 中的一个进行解析。

selected_index

当前选中选项卡的索引。

scrollable

指示是否可以在水平方向上滚动此选项卡栏。

如果 scrollableTrue,则每个选项卡的宽度将根据其标签的需要进行调整,并且整个选项卡控件可以滚动。否则,每个选项卡将平均分配可用空间。

tab_alignment

指定选项卡在选项卡控件中的水平对齐方式。

属性值是 TabAlignment 枚举值,具体有以下几种:

  • NONE
  • START(如果 scrollableTrue,默认值)
  • START_OFFSET
  • FILL(如果 scrollableFalse,默认值)
  • CENTER

tabs

一个 Tab 控件的列表。

unselected_label_color

未选中选项卡标签的颜色

Tabs 事件

on_change

selected_index 改变时触发。

Tab 属性

content

选项卡选中时显示的控件。

icon

在选项卡文本左侧显示的图标。

tab_content

代表自定义的选项卡内容,替换texticon

text

选项卡的显示名称。