我需要执行 DatePicker 的项目。 Veamos el ejemplo que proporciona la documentación oficial de Flet.
import datetime import flet as ft def main(page: ft.Page): page.horizontal_alignment = ft.CrossAxisAlignment.CENTER def handle_change(e): page.add(ft.Text(f"Date changed: {e.control.value.strftime('%Y-%m-%d')}")) def handle_dismissal(e): page.add(ft.Text(f"DatePicker dismissed")) page.add( ft.ElevatedButton( "Pick date", icon=ft.icons.CALENDAR_MONTH, on_click=lambda e: page.open( ft.DatePicker( first_date=datetime.datetime(year=2023, month=10, day=1), last_date=datetime.datetime(year=2024, month=10, day=1), on_change=handle_change, on_dismiss=handle_dismissal, ) ), ) ) ft.app(main)
La documentación no aclara si las propiedades first_date y last_dateson realizadas por defeto ante cada ejecución de la applicación. Asumamos que compilamos una app y los parámetros de first_date y last_date se mantienen como en el código anterior, ¿esto podría generic errores al momento de seleccionar fechas válidas en el futuro?
Mi 应用程序将在 X (Twitter) 上实现抓取功能。 Albuscar hacerla intuitiva y fácil de utilizar (como app ya compilada y ejecutable), revisando el codigo me pregunté qué sucedería si los parámetros first_date y last_date mantenían los valores adjudicados al momentos de escribir拉应用程序。 Si dentro de un año, alguien quisiera scrapear hasta ayer, ¿podría hacerlo? ¿Cómo podríamos aseguarnos de que los parámetros sean dinámicos para que la tempoidad se calcule apartir del momento de la ejecución?
Ante la duda,lo resolví de esta manera:
import datetime import flet as ft # Crear una variable para la fecha actual de la ejecución today = datetime.datetime.now() def main(page: ft.Page): page.horizontal_alignment = ft.CrossAxisAlignment.CENTER def handle_change(e): page.add(ft.Text(f"Date changed: {e.control.value.strftime('%Y-%m-%d')}")) def handle_dismissal(e): page.add(ft.Text(f"DatePicker dismissed")) page.add( ft.ElevatedButton( "Pick date", icon=ft.icons.CALENDAR_MONTH, on_click=lambda e: page.open( ft.DatePicker( # Configuramos las variables para que un calendario válido desde hace un año a hoy y durante un año a futuro first_date=datetime.datetime(year=today.year - 1, month=today.month, day=today.day), last_date=datetime.datetime(year=today.year 1, month=today.month, day=today.day), on_change=handle_change, on_dismiss=handle_dismissal, ) ), ) ) ft.app(main)
De este modo, nos aseguramos de que independientemente del momento en que se ejecute la applicación (compilada or no), las fechas seleccionables en el calendario tentrán un registro tempableconfiguration tomando como para ametro inicial la ejecuciónmisma.
Este enfoque también resulta útil para Implementar funcionalidades específicas que necesiten limitaciones para las fechas seleccionables, como allowedir sólo seleccionar hasta el día de hoy, puesto que no tentría sentido elegir fechas a futuro.
例如,在我的刮擦应用程序中,您可以在未来获取更多信息吗?
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3