我一直在为一种“Rota manager”应用程序开发 GUI,该应用程序在主窗口中有一个日历对象,以允许用户在其上选择特定日期并记录他/她的工作班次的开始和结束。在主窗口中,我希望有一个 tk.Label 显示在日历上选择的日期,并且每次用户点击不同的日期时都会更改。我发现了很多与类似问题相关的问题,但我不知道如何在点击后让标签自行更新。到目前为止,我只能显示日期的第一个选择(默认为今天的日期)。这里是代码的一部分:
import tkinter as tk
from tkinter import StringVar
from tkcalendar import Calendar
class MainWindow:
def __init__(self, master):
self.master = master
master.title("Rota Manager")
master.geometry("400x550")
master.grid_rowconfigure(0, weight=1)
master.grid_columnconfigure(0, weight=1)
master.resizable(False, False)
self.cal = Calendar(self.master, font="Arial 14", selectmode='day', date_pattern='dd/mm/yy')
self.cal.grid(sticky='nsew', pady=10, padx=5)
self.v = StringVar()
self.dynamic_label = tk.Label(self.master, textvariable=self.v, font=('Arial', 10))
self.dynamic_label.grid(row=5, sticky='n')
self.v.set(f"Date selected: {self.cal.get_date()}")
if __name__ == "__main__":
root = tk.Tk()
app = MainWindow(root)
root.mainloop()
这只是我要询问的任务的代码部分。像往常一样,非常感谢任何可以提供帮助的人。