from tkinter import *
from tkcalendar import Calendar
def get_date():
label.configure(text=str(today.get_displayed_month()))
today.configure(day=str(today.get_date()))
win = Tk()
win.title('Calendar Picker')
label = Label(win,text='August 2020')
label.pack(pady=10)
btn = Button(win,text='Pick a date',command=get_date)
btn.pack(pady=10)
today = Calendar(win,selectmode='day',year=2020,month=8,day=6)
today.pack(pady=10)
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python38\lib\tkinter\__init__.py", line 1883, in __call__
return self.func(*args)
File "E:\Python\Python Projects Fun\calproject.py", line 6, in get_date
today.configure(day=str(today.get_date()))
File "C:\Python38\lib\site-packages\tkcalendar\calendar_.py", line 1612, in configure
self[item] = value
File "C:\Python38\lib\site-packages\tkcalendar\calendar_.py", line 518, in __setitem__
raise AttributeError("Calendar object has no attribute %s." % key)
AttributeError: Calendar object has no attribute day.
Извините, когда я нажал кнопку «Выбрать дату», вылезла вышеуказанная ошибка. Могу я спросить, что мне следует использовать, если я хочу, чтобы соответствующая дата отображалась в верхней части окна при перемещении месяцев? Поскольку я не разбираюсь в документации, может кто-нибудь научить меня этому методу? Каков наилучший способ исправить вышеуказанную ошибку?
today.keys()
возвращает список ключевых слов, доступных в.configure()
. Если вы хотите изменить текущий выбранный день, используйтеtoday.selection_set(date)
, хотя я не понимаю, почему вы хотите установить текущую выбранную дату в качестве выбранной даты. Я думаю, что ответ acw1668, вероятно, то, что вы ищете. Если вы хотите убедиться, что выбранная дата видна, используйтеtoday.see(date)
. - person j_4321   schedule 06.08.2020