Tkcalendar 配置 DateEntry 小部件
Tkcalendar configure DateEntry widget
是否有任何方法可以像使用普通条目小部件(不是下拉日历)那样配置 DateEntry 小部件本身?例如更改字体、浮雕或背景等...
我试过以下方法:
myDateEntry.config(background='red')
但我刚得到:
AttributeError: 'DateEntry' 对象没有属性 'background'
当我定义 DateEntry 小部件时,我可以执行以下操作:
myDateEntry=DateEntry(root,background='red')
这不会导致错误,只会更改下拉日历的背景。
DateEntry
小部件基于 ttk.Entry
,而不是 tk.Entry
,因此您必须使用样式来更改其外观。这在文档中有解释:https://tkcalendar.readthedocs.io/en/stable/howtos.html#widget-styling
像ttk.Entry
一样,如果你想要红色背景,你需要将样式的fieldbackground
选项设置为'red',除了要更改的样式是'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' 主题。
是否有任何方法可以像使用普通条目小部件(不是下拉日历)那样配置 DateEntry 小部件本身?例如更改字体、浮雕或背景等...
我试过以下方法:
myDateEntry.config(background='red')
但我刚得到:
AttributeError: 'DateEntry' 对象没有属性 'background'
当我定义 DateEntry 小部件时,我可以执行以下操作:
myDateEntry=DateEntry(root,background='red')
这不会导致错误,只会更改下拉日历的背景。
DateEntry
小部件基于 ttk.Entry
,而不是 tk.Entry
,因此您必须使用样式来更改其外观。这在文档中有解释:https://tkcalendar.readthedocs.io/en/stable/howtos.html#widget-styling
像ttk.Entry
一样,如果你想要红色背景,你需要将样式的fieldbackground
选项设置为'red',除了要更改的样式是'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' 主题。