」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 Flet 中處理 DatePicker

在 Flet 中處理 DatePicker

發佈於2024-11-06
瀏覽:759

Manejo de DatePicker en Flet

我需要執行 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 applicaón. Asumamos gción. 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[&Fel; 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:

導入日期時間 將 flet 匯入為 ft # 建立一個變數 para la fechaactual de la ejecución 今天 = datetime.datetime.now() def main(頁面: ft.Page): page.horizo​​ntal_alignment = ft.CrossAxisAlignment.CENTER def handle_change(e): page.add(ft.Text(f"更改日期: {e.control.value.strftime('%Y-%m-%d')}")) def handle_dismissal(e): page.add(ft.Text(f"DatePicker 已關閉")) 頁面.添加( ft.ElevatedButton( “選擇日期”, 圖標=ft.icons.CALENDAR_MONTH, on_click=lambda e: page.open( ft.DatePicker( # 配置日曆中的變量,以便將來可以使用 first_date=datetime.datetime(年=今天.年 - 1, 月=今天.月, 日=今天.日), last_date=datetime.datetime(年=今天.年1, 月=今天.月, 日=今天.日), on_change=handle_change, on_dismiss=handle_dismissal, ) ), ) ) ft.app(主要)

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 calend ario or no), las fechas seleccionables en el calendario ten斯ejecuciónmisma.
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)
Este enfoque también resulta útil para Implementar funcionalidades específicas que necesiten limitaciones para las fechas seleccionables, como allowedir sólo selecred [&at]kia d​​arlah 在內&al &alr &m sentido elegir fechas a futuro.

例如,在我的刮擦應用程式中,您可以在未來獲得更多資訊嗎?

版本聲明 本文轉載於:https://dev.to/matzalazar/manejo-de-datepicker-en-flet-1g1p?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3