如何使用 Tkcalendar 虚拟活动?

How to use Tkcalendar virtual events?

我仍然对 tkcalendar 虚拟事件用于绑定日历日的用户操作感到困惑 selections。做一些类似的事情,

calendar.bind("<<CalendarSelected>>", print(calendar.get_date())

一旦我 运行 脚本就打印默认日期,但是当我 select 在显示的日历上时,什么也没有打印。通常,如果确实绑定了日历上任何一天的任何 selection,都应该打印出来。我是不是做错了什么?

您需要改用 lambda 函数

calendar.bind("<<CalendarSelected>>", lambda: print(calendar.get_date())

您的代码当前会将打印函数的结果绑定为绑定的回调。因为printreturnsNone,所以不会调用函数

lambda 创建匿名函数。

如果您的代码变得比一行更复杂,请将此代码放入其自身的函数中,并在绑定方法中使用该函数的名称,例如

calendar.bind("<<CalendarSelected>>", showDateToUser)