这可能是一个非常简单的问题,但我似乎找不到答案。
但是如何在没有用户输入的情况下更改 tkcalendar 日历的日期?
现在,每当我的程序循环到某个屏幕时,我都会创建一个新日历,我觉得这效率低下。
例子:
谢谢!
这可能是一个非常简单的问题,但我似乎找不到答案。
但是如何在没有用户输入的情况下更改 tkcalendar 日历的日期?
现在,每当我的程序循环到某个屏幕时,我都会创建一个新日历,我觉得这效率低下。
例子:
谢谢!
如文档中所述,Calendar
该类具有.selection_set()
更改所选日期的方法。它以 a datetime.date
、 adatetime.datetime
或根据日历中使用的语言环境格式化的字符串的形式将要选择的日期作为参数。
例子:
import tkinter as tk
import tkcalendar as tkc
from datetime import date
root = tk.Tk()
cal = tkc.Calendar(root, year=1900, month=11, day=11)
cal.pack()
tk.Button(root, text="Change date", command=lambda: cal.selection_set(date(2001, 1, 18))).pack()
或者,您可以StringVar
通过选项将 a 连接到日历textvariable
并使用它来获取和设置所选日期:
import tkinter as tk
import tkcalendar as tkc
from datetime import date
root = tk.Tk()
datevar = tk.StringVar(root, "11/11/1990")
cal = tkc.Calendar(root, textvariable=datevar, locale="en_US")
cal.pack()
tk.Button(root, text="Change date", command=lambda: datevar.set("01/18/2001")).pack()