То, что я хочу, это иметь возможность свободно выбирать дату, пока я нахожусь в виджете 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, этот уничтожен, и я хочу, чтобы он оставался там до тех пор, пока вы не нажмете где-нибудь еще в окне, которое будет уничтожено.