플렛이 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_date 아들이 실제 애플리케이션에 대한 결함을 확인했습니다. 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 generar errores al momento de selectionar fechas válidas en el futuro?
Mi 앱은 X(트위터)에서 결정된 내용을 스크랩하여 실현할 예정입니다. 직관적으로 사용할 수 있는 편리한 앱(컴파일 및 배출 가능), 코드를 수정한 후에는 매개 변수 첫 번째 날짜 및 마지막 날짜 날짜에 따라 즉시 확인이 가능합니다. 라 앱. Si dentro de un año, alguien quisiera scrapear hasta ayer, ¿podría hacerlo? ¿ Cómo podríamos asegurarnos de que los parámetros sean dinámicos para que la temporaryidad se calcule a partir 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 independentemente del momento en que se ejecute la aplicación(compilada o no), las fechas seleccionables en el Calendario Tendrán un registro temporary configurable tomando como parámetro inicial la ejecución misma.
Este enfoque también resulta útil para Implementar funcionalidades específicas que necesitenlimitaciones para las fechas selectionables, como permitir solo seleccionar hasta el día de hoy, puesto que no tentría sentido elegir fechas a futuro.
예를 들어, 앱에서 스크래핑을 하면 ¿qué sentido tentría permitir fechas configurables en el futuro cuando la tarea es recopilar información del pasado?
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3