我想要的是只要我在 dateEntry 小部件上就可以自由选择日期(即使我单击向下箭头,这个小部件也不会被破坏)并在我单击其他地方时销毁最后一个(dateEntry)。
问题是 tkcalender 是由多个小部件组成的,这就是为什么只在其中一个上设置 focusOut 事件的原因。
from tkinter import *
from tkcalendar import DateEntry
def ok(e):
print(cal.get_date())
root = Tk()
cal = DateEntry(root, year=2010)
cal.pack(padx=10, pady=10)
cal.bind('<FocusOut>', lambda e: cal.destroy())
cal.bind('<Return>', ok) # validate with Enter
cal.focus_set()
root.mainloop()
如果您运行代码,那么您单击 DateEntry 的箭头,这个被破坏了,我希望这个保留在那里,直到您单击窗口中其他要被破坏的地方。