You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

现有数据库查询应用改造:新增自定义日期查询日历组件

自定义日期范围查询的Tkinter应用实现

我正在对一款原有应用做功能升级——它原本只能查询数据库中过去7天的信息,现在我已经成功集成了日历组件,用户可以自行选择起始和结束日期来进行查询,目前日历功能已经运行正常。

相关实现代码如下:

import tkinter as Tkinter
import tkinter.font as tkFont
import tkinter.ttk as ttk
import ttkcalendar
import pandas as pd
import numpy as np
import tkSimpleDialog
from datetime import date

class CalendarDialog(tkSimpleDialog.Dialog):
    """显示日历并返回所选日期的对话框"""
    def body(self, master):
        self.calendar = ttkcalendar.Calendar(master)
        self.calendar.pack()
    def apply(self):
        self.result1 = self.calendar.selection
        self.result2 = self.calendar.selection

class CalendarFrame(Tkinter.LabelFrame):
    def __init__(self, parent):
        Tkinter.LabelFrame.__init__(self, parent, text="Choose Dates")
        def getbegindate():
            cd = CalendarDialog(self)
            self.result1 = cd.result1
            self.Begin_date.set(self.result1.strftime("%m/%d/%Y"))
        def gettodate():
            cd = CalendarDialog(self)
            self.result2 = cd.result2
            self.To_date.set(self.result2.strftime("%m/%d/%Y"))
        self.Begin_date = Tkinter.StringVar()
        self.To_date = Tkinter.StringVar()
        def get_date():
            end = self.result2.strftime("%m/%d/%Y")
            start = self.result1.strftime("%m/%d/%Y")
            end1 = self.result2.strptime(end, "%m/%d/%Y").date()
            start1 = self.result1.strptime(start, "%m/%d/%Y").date()
            delta = (end1 - start1).days
            daterange = [pd.date_range(start, end)]
            for single_date in daterange:
                x = single_date.strftime("%m/%d/%Y")
                rundat...

内容的提问来源于stack exchange,提问作者pja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:51:22