主题
Tooltip
提供帮助解释按钮或其他用户界面操作功能的文本标签。
属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
message | str | 必填 | 此工具提示中显示的文本。 |
decoration | Optional[BoxDecoration] | None | 此工具提示的背景装饰。 如果为 None,则使用 decoration。如果它也 None,则会根据当前主题模式选择一个默认装饰: 浅色主题模式下: python ft.BoxDecoration( border_radius=ft.BorderRadius.all(4.0), bgcolor=ft.Colors.with_opacity(0.9, ft.Colors.GREY_700), ) 深色主题模式下: python ft.BoxDecoration( border_radius=ft.BorderRadius.all(4.0), bgcolor=ft.Colors.with_opacity(0.9, ft.Colors.WHITE), ) |
enable_feedback | Optional[bool] | None | 当为 True(默认值)时,工具提示应提供声音和/或触觉反馈。 例如在 Android 上,启用反馈时,点击会发出咔嗒声,长按会产生短促的振动。 |
vertical_offset | Optional[Number] | None | 控件与所显示的工具提示之间的垂直间距。 当 prefer_below 设为 True 且工具提示有足够空间显示自身时,此属性定义工具提示定位在对应控件下方多少垂直空间。否则,工具提示会以给定偏移量定位在对应控件上方。 |
margin | Optional[MarginValue] | None | 工具提示周围的空白区域。 如果为 None,则使用 margin。如果它也 None,默认为 Margin.all(0.0)。 |
padding | Optional[PaddingValue] | None | 工具提示内容的内边距。 它根据当前平台具有以下默认值: - 移动平台:Padding.symmetric(horizontal=16.0, vertical=4.0) - 桌面平台:Padding.symmetric(horizontal=8.0, vertical=4.0) |
bgcolor | Optional[ColorValue] | None | 工具提示的背景色。 |
text_style | Optional[TextStyle] | None | 用于工具提示消息的 TextStyle。 |
text_align | Optional[TextAlign] | None | 工具提示消息的水平对齐方式。 如果为 None,则使用 text_align。如果它也 None,默认为 START。 |
prefer_below | Optional[bool] | None | 工具提示是否默认显示在控件下方。 如果在首选方向上空间不足以显示工具提示,则会改为在相反方向显示。 如果为 None,则使用 prefer_below。如果它也 None,默认为 True。 |
show_duration | Optional[DurationValue] | None | 长按释放(如果 triggerMode 为 LONG_PRESS)或点击释放(如果 triggerMode 为 TAP)后工具提示显示的时长。此属性不影响鼠标指针设备。 如果为 None,则使用 show_duration。如果它也 None,长按和点击释放时默认为 1.5 秒。 |
wait_duration | Optional[DurationValue] | None | 指针必须悬停在工具提示控件上多久(以毫秒为单位),工具提示才会显示。 如果为 None,则使用 wait_duration。如果它也 None,默认为 100 毫秒。 |
exit_duration | Optional[DurationValue] | None | 长按释放、点击释放或鼠标指针离开控件后工具提示显示的时长。 如果为 None,则使用 exit_duration。如果它也 None,默认为 0 毫秒 —— 无延迟。 |
tap_to_dismiss | bool | True | 工具提示是否可以通过点击来关闭。 |
exclude_from_semantics | Optional[bool] | False | 工具提示的消息是否应从语义树中排除。 |
trigger_mode | Optional[TooltipTriggerMode] | None | 工具提示的触发模式。 如果为 None,则使用 trigger_mode。如果它也 None,默认为 LONG_PRESS。 |
mouse_cursor | Optional[MouseCursor] | None | 鼠标指针进入或悬停在内容上时的光标。 |
size_constraints | Optional[BoxConstraints] | None | 定义此工具提示的尺寸约束。 如果为 None,则使用 size_constraints。如果它也 None,则会根据当前平台选择一个默认值: - 桌面平台:BoxConstraints(min_height=24.0) - 移动平台:BoxConstraints(min_height=32.0) |
示例
带装饰的工具提示
python
import math
import flet as ft
def main(page: ft.Page):
page.add(
ft.SafeArea(
content=ft.Column(
controls=[
ft.Text(
"Hover to see the simple tooltip",
tooltip="This is a simple tooltip",
),
ft.Text(
value="Hover to see the complex tooltip",
tooltip=ft.Tooltip(
message="This is a complex tooltip",
padding=20,
text_style=ft.TextStyle(size=20, color=ft.Colors.WHITE),
decoration=ft.BoxDecoration(
border_radius=10,
gradient=ft.LinearGradient(
begin=ft.Alignment.TOP_LEFT,
end=ft.Alignment(0.8, 1),
tile_mode=ft.GradientTileMode.MIRROR,
rotation=math.pi / 3,
colors=[
"0xff1f005c",
"0xff5b0060",
"0xff870160",
"0xffac255e",
"0xffca485c",
"0xffe16b5c",
"0xfff39060",
"0xffffb56b",
],
),
),
),
),
],
),
)
)
if __name__ == "__main__":
ft.run(main)