跳到主要内容

时间选择器 TimePicker

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

它被添加到 page.overlay 并通过它的 pick_time() 方法来调用。

根据 time_picker_entry_mode 的不同,它会显示一个刻度盘或输入框(小时和分钟文本字段)来选择时间。

示例

在线示例

基本时间选择器

import datetime
import flet as ft

def main(page: ft.Page):
def change_time(e):
print(f"时间选择器已更改,分钟值为 {time_picker.value.minute}")

def dismissed(e):
print(f"时间选择器被取消,值为 {time_picker.value}")

time_picker = ft.TimePicker(
confirm_text="确认",
error_invalid_text="时间超出范围",
help_text="选择您的时间段",
on_change=change_time,
on_dismiss=dismissed,
)

page.overlay.append(time_picker)

date_button = ft.ElevatedButton(
"选择时间",
icon=ft.icons.TIME_TO_LEAVE,
on_click=lambda _: time_picker.pick_time(),
)

page.add(date_button)


ft.app(target=main)

属性

cancel_text

取消按钮上显示的文本。默认值为 "取消"。

confirm_text

确认按钮上显示的文本。默认值为 "确定"。

error_invalid_text

如果输入不是有效的小时/分钟,则在输入文本字段下方显示的错误消息。默认值为 "请输入有效的时间"。

hour_label_text

在小时输入文本字段下方显示的文本。

默认值为 "小时"。

help_text

在头部上方显示的文本。

用于指示用户选择时间的用途。默认值为 "请输入时间"。

minute_label_text

在分钟输入文本字段下方显示的文本。

默认值为 "分钟"。

time_picker_entry_mode

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

属性值为 TimePickerEntryMode 枚举,包括以下值:

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

DIAL 模式下,用户通过时钟刻度盘选择时间。 可以通过在对话框中激活模式按钮来切换到输入模式。

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

DIAL_ONLYINPUT_ONLY 是以上两种模式的变体,不允许用户切换到其他模式。

value

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

方法

pick_time()

打开一个时间选择器对话框。

事件

on_change

当用户点击确认按钮时触发。value 属性会更新为选定的时间。

on_dismiss

当用户点击取消按钮或在时间选择器对话框外部点击时触发,对话框被取消时触发。