CupertinoDatePicker
An iOS-style date and time picker dialog.
See date_picker_mode property for details on the available modes.
Examples
Basic Example
- Python
import flet as ft
def main(page):
page.theme_mode = ft.ThemeMode.LIGHT
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
page.add(
ft.OutlinedButton(
"Show CupertinoDatePicker",
on_click=lambda e: page.show_bottom_sheet(
ft.CupertinoBottomSheet(
ft.CupertinoDatePicker(
on_change=lambda e: print(e.data),
date_picker_mode=ft.CupertinoDatePickerMode.DATE_AND_TIME
),
height=216,
padding=ft.padding.only(top=6),
)
),
)
)
ft.app(main)
Properties
bgcolor
The background color of the date picker.
current_date
The date representing today. It will be highlighted in the day grid.
date_order
The order in which the columns inside this picker are displayed. Property value is CupertinoDatePickerDateOrder enum with the following values:
DAY_MONTH_YEARMONTH_YEAR_DAYYEAR_MONTH_DAYYEAR_DAY_MONTH
The final order in which the columns are displayed is also influenced by the date_picker_mode. For example, when using date_picker_mode=CupertinoDatePickerMode.MONTH_YEAR, both CupertinoDatePickerDateOrder.DAY_MONTH_YEAR and CupertinoDatePickerDateOrder.MONTH_DAY_YEAR will result in the month|year order.
date_picker_mode
The mode of the date picker. Property value is CupertinoDatePickerMode enum with the following values:
DATE- shows the date in month(spelled in full), day of month, and yearDATE_AND_TIME(default) - shows the date as day of the week, month, day of month and the time in hour, minute, and (optional) an AM/PM designation. The AM/PM designation is shown only ifuse_24h_format=False.MONTH_YEAR- shows the date in month (spelled in full) and yearTIME- shows the date in hour, minute, and (optional) an AM/PM designation. The AM/PM designation is shown only ifuse_24h_format=False.
first_date
The earliest allowable date that the user can select. Defaults to None - no limit.
When not None, one can still scroll the picker to dates earlier than first_date, with the exception that the on_change will not be called. Once let go, the picker will scroll back to first_date.
In CupertinoDatePickerMode.TIME mode, a time becomes unselectable if the datetime produced by combining that particular time and the date part of initialDateTime is earlier than last_date. So typically first_date needs to be set to a datetime that is on the same date as initialDateTime.
item_extent
The uniform height of all children. Defaults to 32.
last_date
The latest allowable date that the user can select. Defaults to None - no limit.
When not None, one can still scroll the picker to dates later than last_date, with the exception that the on_change will not be called. Once let go, the picker will scroll back to last_date.
In CupertinoDatePickerMode.TIME mode, a time becomes unselectable if the datetime produced by combining that particular time and the date part of initialDateTime is later than last_date. So typically last_date needs to be set to a datetime that is on the same date as initialDateTime.
max_year
Maximum year to which the picker can be scrolled when in CupertinoDatePickerMode.DATE mode. Defaults to 1. Defaults to None - no limit.
min_year
Minimum year to which the picker can be scrolled when in CupertinoDatePickerMode.DATE mode. Defaults to 1.
min_interval
The granularity of the minutes spinner, if it is shown in the current date_picker_mode. Must be an integer factor of 60. Defaults to 1.
show_day_of_week
Whether to to show day of week alongside day. Defaults to False.
use_24h_format
If True, 24-hour time format is used else 12-hour time format is used. Defaults to False.
value
The initial date and/or time of the picker. It must conform to the intervals set in first_date, last_date, min_year, and max_year else an error will be ValueError will be raised.
Defaults to the present date and time.
Events
on_change
Fires when the selected date and/or time changes. Will not fire if the new selected value is not valid, or is not in the range of first_date and last_date.