图标按钮
图标按钮是一个圆形按钮,中间带有一个图标,当用户点击时会填充颜色(墨水)。
图标按钮通常用于工具栏,但也可以在其他地方使用。
示例
图标按钮
- Python
import flet as ft
def main(page: ft.Page):
page.title = "图标按钮"
page.add(
ft.Row(
[
ft.IconButton(
icon=ft.icons.PAUSE_CIRCLE_FILLED_ROUNDED,
icon_color="blue400",
icon_size=20,
tooltip="暂停记录",
),
ft.IconButton(
icon=ft.icons.DELETE_FOREVER_ROUNDED,
icon_color="pink600",
icon_size=40,
tooltip="删除记录",
),
]
),
)
ft.app(target=main)
带点击事件的图标按钮
- Python
import flet as ft
def main(page: ft.Page):
page.title = "带点击事件的图标按钮"
def button_clicked(e):
b.data += 1
t.value = f"按钮点击 {b.data} 次"
page.update()
b = ft.IconButton(
icon=ft.icons.PLAY_CIRCLE_FILL_OUTLINED, on_click=button_clicked, data=0
)
t = ft.Text()
page.add(b, t)
ft.app(target=main)
属性
adaptive
如果值为 True
,则根据目标平台创建适应性按钮。如果目标平台是 iOS/macOS,则创建一个 CupertinoButton
,否则创建一个 Material 图标按钮。
默认值为 False
。
alignment
定义图标在图标按钮中的位置。对齐方式是 Alignment
类的实例。默认值为 alignment.center
。
autofocus
如果控件将被选为初始焦点,则为 True
。如果页面上有多个控件具有 autofocus 属性,则第一个添加到页面的控件将获得焦点。
content
一个表示自定义按钮内容的控件。
disabled_color
按钮禁用时图标的颜色。
enable_feedback
是否检测手势以提供音频和/或触觉反馈。例如,在 Android 上,将其设置为 True
将产生点击声音,并且长按将产生短暂的振动。
默认值为 True
。
focus_color
按钮在焦点状态下的颜色。
highlight_color
按钮被按下时的颜色。高亮颜色快速淡入作为按钮被按下 。
hover_color
按钮被悬停时的颜色。
icon
按钮中的图标。
icon_color
图标的颜色。
icon_size
图标的大小(虚拟像素)。
mouse_cursor
鼠标指针进入或悬停在该控件上时显示的光标。
值是 MouseCursor
。
padding
定义按钮周围的填充。整个填充图标将响应输入手势。
填充值是 Padding
类的实例。
默认值为 padding.all(8)
。
selected
将图标按钮转换为 toggle 按钮:True
- 按钮处于选中状态,False
- 正常状态。
selected_icon
按钮在选中状态下的图标。
selected_icon_color
选中状态下的图标颜色。
一个 toggle 图标按钮的示例:
import flet as ft
def main(page: ft.Page):
def toggle_icon_button(e):
e.control.selected = not e.control.selected
e.control.update()
page.add(
ft.IconButton(
icon=ft.icons.BATTERY_1_BAR,
selected_icon=ft.icons.BATTERY_FULL,
on_click=toggle_icon_button,
selected=False,
style=ft.ButtonStyle(color={"selected": ft.colors.GREEN, "": ft.colors.RED}),
)
)
ft.app(target=main)
splash_color
按钮在按下状态下的主要颜色。
splash_radius
溅射半径。仅在 Material 2 中生效。
style
按钮的样式。值是 ButtonStyle
类的实例。
tooltip
鼠标悬停在按钮上时显示的文本。
url
按钮被点击时打开的 URL。如果注册了,on_click
事件将在打开 URL 后触发。
url_target
在 Web 模式下打开 URL 的目标。值是 UrlTarget
。默认值为 BLANK
。
visual_density
定义控件的布局紧凑度。值是 ThemeVisualDensity
。
方法
focus()
将焦点移到按钮上。
事件
on_blur
控件失去焦点时触发。
on_click
用户点击按钮时触发。
on_focus
控件获得焦点时触发。