Tkcalendar 配置日期条目小部件



有没有办法像使用普通条目小部件(而不是下拉日历(一样配置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')

最新更新