在 Flet 中处理 DatePicker

在 flet 中处理 datepicker

我在 flet 中的上一个项目需要实现 datepicker。我们看一下 flet 官方文档提供的示例。

import datetimeimport flet as ftdef 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)

登录后复制

文档没有阐明 first_datelast_date 属性是否在每次执行应用程序时默认更新。假设我们编译了一个应用程序,并且 first_datelast_date 参数保留为前面的代码,这在将来选择有效日期时会产生错误吗?

我的应用程序旨在抓取两个特定日期之间的 x (twitter)。当希望使其直观且易于使用时(作为已编译和可执行的应用程序),在检查代码时,我问自己如果参数 first_datelast_date 保持值会发生什么​​在编写应用程序时分配。如果一年后,有人想到昨天,他们能做到吗?如何确保参数是动态的,以便从执行时间开始计算时间?

当有疑问时,我是这样解决的:

import datetimeimport flet as ft# Crear una variable para la fecha actual de la ejecucióntoday = 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)

登录后复制

通过这种方式,我们确保无论应用程序执行的时刻(编译与否),日历中的可选日期都将具有可配置的时间记录,以执行本身作为初始参数。

此方法对于实现需要限制可选择日期的特定功能也很有用,例如仅允许选择,因为选择未来的日期是没有意义的。

例如,在我的抓取应用程序中,当任务是收集过去的信息时,允许配置未来的日期有什么意义?

以上就是在 Flet 中处理 DatePicker的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2192829.html

(0)
上一篇 2025年2月25日 19:43:39
下一篇 2025年2月25日 19:43:58

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python 小数模块

    编程语言有各种类型的数据来处理数字信息。整数(int)、实数(float)类型和python支持其他类型,例如分数和复数。 然而,今天我想谈谈十进制类型。浮点或浮点有几个精度问题,这些问题在某些类型的应用程序中是无法容忍的,例如与金融有关的…

    2025年2月25日
    000
  • SQLMap 备忘单:自动 SQL 注入快速指南

    作者:特里克斯·赛勒斯 什么是 sqlmap?sqlmap是一个开源渗透测试工具,用于检测和利用web应用程序中的sql注入漏洞。它支持各种数据库系统,如 mysql、postgresql、oracle、microsoft sql serv…

    2025年2月25日
    200
  • hbuilder格式化json

    在 HBuilderX 中格式化 JSON 有三种方法:使用 JSON 查看器、使用快捷键或使用格式化选项。快捷键是 “Ctrl” + “Shift” + “F”(Wi…

    2025年2月25日
    200
  • jsjson解析的几种方式

    可以通过以下五种方式解析 JSON:JSON.parse() 方法eval() 函数(不推荐使用)正则表达式(不灵活且效率低下)函数构造器(不推荐使用)jQuery $.parseJSON() 方法 jsJSON解析的几种方式 JSON(J…

    2025年2月25日
    200
  • 在 Python 中处理 PDF 和 Word 文档

    简介 (https://nearlearn.com/python-classroom-training-institute-bangalore)在 Python 中处理 PDF 和 Word 文档可以使用多个库来完成,每个库都针对特定任务(…

    2025年2月25日
    200
  • Python 第 00 天

    今天,我开始了我的个人挑战#100DaysOfCode。为了这个挑战,我选择学习Python,因为我的目标是成为一名数据分析师。 第 2 章: 变量和字符串 我用来学习 Python 的材料是 Eric Matthes 写的一本名为《Pyt…

    2025年2月25日
    200
  • 使用流下载处理大文件下载,以避免超时和其他响应错误

    在 web 应用程序中处理大文件下载时,开发人员面临的常见问题之一是超时、响应时间、内存过载错误。大多数网络服务器和客户端对等待响应的时间都有限制,如果下载过程花费太长时间,您可能会遇到这些错误。为了缓解这一问题,流式下载是一种更高效且可扩…

    2025年2月25日
    200
  • 理解 Python 中的关键字参数

    当您使用 python 编程时,了解如何向函数传递参数是编写清晰、灵活且易于维护的代码的关键。 python 提供的一项强大功能是使用关键字参数。这些使您能够以简洁、可读且可自定义的方式调用函数。 本文将解释什么是关键字参数、如何使用它们、…

    2025年2月25日
    200
  • 招聘 Django 开发人员

    大家好,我是 Nicholas,一名软件开发人员,在构建强大的 Web 应用程序方面拥有 3 年经验,利用 Python、JavaScript 和 Ruby 提供使用最新行业技术(例如 Django、Nodejs、Nextjs、 React…

    2025年2月25日
    200
  • 编写干净、高效且可维护的代码 - Python 作为用例

    编写干净、高效且可维护的代码 - python 作为用例。如果您已经成为开发人员一段时间,您可能会理解正确编码的重要性,而不是急于编写有效的东西。这对您来说最大的挫折之一是,当您需要检查代码时,您很少能理解您想要做什么,而对于其他人来说,他…

    2025年2月25日
    200

发表回复

登录后才能评论