【发布时间】:2018-09-26 10:03:15
【问题描述】:
我正在尝试使用 tkcalendar 在我的 python tkinter 应用程序中显示一些事件。我有一个事件数据库,并将它们放在日历中,如下例所示(我创建了一个事件字典来显示案例)。在这个例子中,我遍历所有事件并将它们全部放在日历中
import tkinter as tk
import tkinter.ttk as ttk
from tkinter import *
import tkcalendar
from tkcalendar import Calendar, DateEntry
import datetime
root = tk.Tk()
events={'2018-09-28':('London','meeting'),\
'2018-08-15':('Paris','meeting'),\
'2018-07-30':('New York','meeting')}
cal = Calendar(root, selectmode='day', year=2018, month=8)
for k in events.keys():
date=datetime.datetime.strptime(k,"%Y-%m-%d").date()
cal.calevent_create(date, events[k][0], events[k][1])
cal.tag_config('meeting', background='red', foreground='yellow')
cal.pack(fill="both", expand=True)
root.mainloop()
到目前为止一切正常。问题是事件数据库非常大,并且会扩展数年。理想情况下,我只想创建正在显示的月份的事件。我需要检测用户何时单击“下个月”和“上个月”(tkcalendar 附带的标准按钮):
并为正在显示的月份创建事件。这可能吗?
非常感谢您
【问题讨论】:
-
你已经告诉我们你想要做什么,但没有问任何问题(除了“这可能吗?”)。你需要什么样的帮助?你有什么尝试解决这个问题?也许您应该从仅两到三个月的事件开始,直到您弄清楚如何仅显示显示的月份的事件。
标签: python tkinter tkcalendar