有没有办法像使用普通条目小部件(而不是下拉日历(一样配置DateEntry小部件本身?例如更改字体,浮雕或背景等...
我尝试了以下方法:
myDateEntry.config(background='red')
但我只是得到:
属性错误:"日期条目"对象没有属性"背景">
当我定义 DateEntry 小部件时,我可以执行以下操作:
myDateEntry=DateEntry(root,background='red')
这不会导致错误,但只会更改下拉日历的背景。
DateEntry
小部件是基于ttk.Entry
,而不是tk.Entry
,所以你必须使用样式来改变它的外观。这在文档中进行了解释:https://tkcalendar.readthedocs.io/en/stable/howtos.html#widget-styling
就像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')
。