【问题标题】:How to use Tkcalendar virtual events?如何使用 Tkcalendar 虚拟事件?
【发布时间】:2021-10-04 10:42:38
【问题描述】:

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

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

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

【问题讨论】:

    标签: python-3.x tkinter tkcalendar


    【解决方案1】:

    您需要改用 lambda 函数

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

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

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

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

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

    【讨论】:

    • 如果您要更改问题的范围,最好提出一个新问题。将此标记为已回答。
    • @PrinceD.Taylor 在投票/否决按钮下方的答案旁边有一个勾号。点击那个
    猜你喜欢
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 2010-11-10
    • 2011-12-29
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    相关资源
    最近更新 更多