0

我仍然对使用 tkcalendar 虚拟事件来绑定用户对日历日选择的操作感到困惑。制作类似跟随的东西,

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

一旦我运行脚本,就会打印默认日期,但是当我在显示的日历上选择时,不会打印任何内容。通常,如果确实绑定,则应打印日历上任何一天的任何选择。我做错了什么对吗?

4

1 回答 1

0

您需要改用 lambda 函数

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

您的代码当前将绑定打印函数的结果作为绑定的回调。由于 print 返回 None,因此不会调用任何函数。

一个 lambda 创建一个匿名函数。

如果您的代码变得比单行更复杂,请将此代码放入它自己的函数中,并在 bind 方法中使用该函数的名称,例如

calendar.bind("<<CalendarSelected>>", showDateToUser)
于 2021-10-04T10:59:15.200 回答