Из этого поста я узнал, как реализовать календарь ttk Python Tkinter ttk calendar Все, что мне нужно, - это включить две кнопки ttk calendars в мой графический интерфейс.Одна для кнопки «Дата прибытия», а другая для кнопки «Дата возвращения».Однако после того, как я попытался включить эти две кнопки в окно GUI, мое окно GUI становится очень медленным и медленно загружается, а иногда даже зависает.Кто-нибудь может дать мне какое-то предложение о том, в чем здесь проблема?
Основываясь на ссылке выше, я попытался сначала включить кнопку ttk calendar, и все работает нормально, и мое окно графического интерфейса работает плавно.Тем не менее, до тех пор, пока у меня есть две кнопки календаря ttk, окно GUI очень запаздывает.
# from stackoverflow
# https://stackoverflow.com/questions/48298195/python-tkinter-ttk-calendar
class MyDateEntry(DateEntry):
def __init__(self, master=None, **kw):
DateEntry.__init__(self, master=master, **kw)
# add black border around drop-down calendar
self._top_cal.configure(bg='black', bd=1)
# add label displaying today's date below
tk.Label(self._top_cal, bg='gray90', anchor='w',
text='Today: %s' % date.today().strftime('%x')).pack(fill='x')
...
...
...
# first button
ttk.Label(self.frame_entry_left_col, text='Arrival Date:').grid(row=6, column=0, padx=5, pady=(5, 0), sticky=tk.W)
self.fldArrivalDate = MyDateEntry(self.color, master=self.frame_entry_left_col, font=("Calibri", 8), background=self.color.secondary, width=17, selectmode='day')
self.fldArrivalDate.grid(row=7, column=0, padx=5, pady=(0, 6))
# second button
ttk.Label(self.frame_entry_left_col, text='Return Date:').grid(row=8, column=0, padx=5, pady=(5, 0), sticky=tk.W)
self.fldReturnDate = MyDateEntry(self.color, master=self.frame_entry_left_col, font=("Calibri", 8), width=17, selectmode='day')
self.fldReturnDate.grid(row=9, column=0, padx=5, pady=(0, 6))
Я полагаю, что обе кнопки могут работать плавно.