我仍然对使用 tkcalendar 虚拟事件来绑定用户对日历日选择的操作感到困惑。制作类似跟随的东西,
calendar.bind("<<CalendarSelected>>", print(calendar.get_date())
一旦我运行脚本,就会打印默认日期,但是当我在显示的日历上选择时,不会打印任何内容。通常,如果确实绑定,则应打印日历上任何一天的任何选择。我做错了什么对吗?
我仍然对使用 tkcalendar 虚拟事件来绑定用户对日历日选择的操作感到困惑。制作类似跟随的东西,
calendar.bind("<<CalendarSelected>>", print(calendar.get_date())
一旦我运行脚本,就会打印默认日期,但是当我在显示的日历上选择时,不会打印任何内容。通常,如果确实绑定,则应打印日历上任何一天的任何选择。我做错了什么对吗?
您需要改用 lambda 函数
calendar.bind("<<CalendarSelected>>", lambda: print(calendar.get_date())
您的代码当前将绑定打印函数的结果作为绑定的回调。由于 print 返回 None,因此不会调用任何函数。
一个 lambda 创建一个匿名函数。
如果您的代码变得比单行更复杂,请将此代码放入它自己的函数中,并在 bind 方法中使用该函数的名称,例如
calendar.bind("<<CalendarSelected>>", showDateToUser)