跳到主要内容

时间选择器

Material 风格的时间选择器对话框。

要打开此控件,只需调用 page.open() 辅助方法。

根据 time_picker_entry_mode,它将显示时钟拨号盘或小时和分钟文本字段来选择时间。

示例

Live 示例

基本时间选择器

import flet as ft


def main(page: ft.Page):
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER

def handle_change(e):
page.add(ft.Text(f"TimePicker change: {time_picker.value}"))

def handle_dismissal(e):
page.add(ft.Text(f"TimePicker dismissed: {time_picker.value}"))

def handle_entry_mode_change(e):
page.add(ft.Text(f"TimePicker Entry mode changed to {e.entry_mode}"))

time_picker = ft.TimePicker(
confirm_text="Confirm",
error_invalid_text="Time out of range",
help_text="Pick your time slot",
on_change=handle_change,
on_dismiss=handle_dismissal,
on_entry_mode_change=handle_entry_mode_change,
)

page.add(
ft.ElevatedButton(
"Pick time",
icon=ft.icons.TIME_TO_LEAVE,
on_click=lambda _: page.open(time_picker),
)
)


ft.app(main)

属性

cancel_text

取消按钮上的文本。默认值是“取消”。

confirm_text

确认按钮上的文本。默认值是“确定”。

error_invalid_text

如果输入不是有效的小时/分钟,显示的错误消息。默认值是“输入有效时间”。

hour_label_text

小时输入文本字段下的文本。

默认值是“小时”。

help_text

头部顶部显示的文本。

用于指示用户选择时间的目的。默认值是“输入时间”。

minute_label_text

分钟输入文本字段下的文本。

默认值是“分钟”。

orientation

对话框的方向。值是 Orientation 枚举类型,可能的值是 PORTRAITLANDSCAPE

time_picker_entry_mode

时间选择器对话框的初始输入方法。

属性值是 TimePickerEntryMode 枚举类型,可能的值是:

  • DIAL(默认)
  • INPUT
  • DIAL_ONLY
  • INPUT_ONLY

DIAL 模式下,用户从时钟拨号盘中选择时间。 可以通过激活对话框中的模式按钮切换到输入模式。

INPUT 模式下,用户可以通过输入文本字段输入时间。 可以通过激活对话框中的模式按钮切换到拨号盘模式。

DIAL_ONLYINPUT_ONLY 是上述模式的变体,不允许用户更改模式。

value

选择器应该显示的选定时间。默认值是当前时间。

方法

pick_time()

打开时间选择器对话框。

在 v0.23.0 中已弃用,并将在 v0.26.0 中删除。请使用 page.open(date_picker) 替代。

事件

on_change

用户点击确认按钮时触发。value 属性将被更新为选定的时间。e.data 也包含选定的时间。

on_dismiss

用户点击取消按钮或对话框外部时触发。

on_entry_mode_change

时间选择器输入方法更改时触发。事件处理程序 (e) 是 TimePickerEntryModeChangeEvent 类型,新的输入方法可以从 e.entry_mode 中获取(值是 TimePickerEntryMode 枚举类型)。