Виджет DateEntry
основан на ttk.Entry
, а не tk.Entry
, поэтому вы должны использовать стиль, чтобы изменить его внешний вид. Это объясняется в документации: https://tkcalendar.readthedocs.io/en/stable/howtos.html#widget -stling
Как и для ttk.Entry
, если вы хотите красный фон, вам нужно установить опцию стиля fieldbackground
стиля на «красный», за исключением того, что стиль для изменения - «DateEntry» вместо «TEntry»:
import tkinter as tk
from tkinter import ttk
from tkcalendar import DateEntry
root = tk.Tk()
style = ttk.Style(root)
# create custom DateEntry style with red background
style.configure('my.DateEntry', fieldbackground='red')
# create DateEntry using the custom style
dateentry = DateEntry(root, style='my.DateEntry')
dateentry.pack()
root.mainloop()
Примечание: Не все темы ttk позволяют изменять fieldbackground
виджеты, особенно тема Windows по умолчанию. Чтобы иметь возможность изменить его, необходимо сначала изменить тему с помощью style.theme_use('clam')
, чтобы использовать, например, тему 'clam'.