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

Tkinter使用DateEntry日期选择器如何将选中日期打印到控制台

实现打印选中日期的解决方案

原有代码问题说明

你当前的代码存在两处明显问题:

  • 变量引用错误:你定义的日期选择器实例变量名为cal,代码中用到的d并未声明
  • 无触发逻辑:直接编写的打印语句只会在程序启动时执行一次,无法响应用户选择日期的交互动作

核心实现逻辑

tkcalendar的DateEntry组件提供了专属的<<DateEntrySelected>>事件,当用户完成日期选择操作时会自动触发该事件,你只需要绑定事件对应的回调函数,在回调内调用get()方法获取选中日期后打印到控制台即可。

完整可运行代码

import tkinter as tk
from tkcalendar import DateEntry

# 日期选中事件的回调函数
def print_date(event):
    # 获取选中的日期值
    selected = cal.get()
    # 打印到控制台
    print("选中的日期:", selected)

root = tk.Tk()
cal = DateEntry(root, width=12, year=2019, month=6, day=22,
                background='darkblue', foreground='white', borderwidth=2)
# 绑定日期选择事件到回调函数
cal.bind("<<DateEntrySelected>>", print_date)
cal.pack(padx=10, pady=10)
root.mainloop()

可选实现:点击按钮打印日期

如果你希望点击按钮后才打印选中的日期,可以参考如下写法:

import tkinter as tk
from tkcalendar import DateEntry

def print_date():
    selected = cal.get()
    print("选中的日期:", selected)

root = tk.Tk()
cal = DateEntry(root, width=12, year=2019, month=6, day=22,
                background='darkblue', foreground='white', borderwidth=2)
cal.pack(padx=10, pady=10)
# 新增打印按钮
print_btn = tk.Button(root, text="打印日期", command=print_date)
print_btn.pack(padx=10, pady=5)
root.mainloop()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:27:04