У меня есть виджет DateEntry и кнопка для очистки содержимого DateEntry. Я хочу, чтобы DateEntry был пустым, если пользователь не выберет дату.
Моя проблема в том, что если я выбрал виджет DateEntry и наделил его фокусом, то использование кнопки очистки не работает в первый раз, поскольку DateEntry автоматически завершает работу после потери фокуса.
Пример:
from tkinter import *
from tkinter import ttk
from tkcalendar import DateEntry
def clearDateEntry():
clearButton.focus_set()
myDateEntry.delete(0,END)
root=Tk()
myDateEntry=DateEntry(root)
myDateEntry.pack()
myDateEntry.delete(0,END)
clearButton=Button(root,text='clear',command=clearDateEntry)
clearButton.pack()
root.mainloop()
Для репликации: установите фокусировку DateEntry, затем нажмите «Очистить».
В функции clearDateEntry()
я сначала перемещаю фокус на кнопку очистки что я ожидал бы вызвать автозаполнение, так что я могу удалить его сразу после, но это не работает.
Как мне сделать clearDateEntry()
на самом деле очистить DateEntry на первом go ? Если есть способ отключить автозаполнение DateEntry, это также решит мою проблему.