| Name | Modified | Size | Downloads / Week | 
|---|---|---|---|
| v1.6.1 | 2019-12-28 | ||
| v1.6.0 | 2019-12-27 | ||
| v1.5.1 | 2019-08-27 | ||
| v1.5.0 | 2019-07-29 | ||
| v1.4.0 | 2018-12-04 | ||
| v1.3.1 | 2018-09-21 | ||
| v1.3.0 | 2018-08-23 | ||
| 1.2.1 | 2018-04-18 | ||
| v1.2.0 | 2018-04-08 | ||
| v1.1.5 | 2018-04-01 | ||
| v1.1.4 | 2018-01-25 | ||
| v1.1.3 | 2018-01-17 | ||
| v1.1.2 | 2017-09-15 | ||
| v1.1.1 | 2017-09-12 | ||
| v1.1.0 | 2017-09-12 | ||
| v1.0.0 | 2017-05-31 | ||
| README.rst | 2018-01-27 | 6.0 kB | |
| Totals: 17 Items | 6.0 kB | 13 | 
tkcalendar
tkcalendar is a python module that provides the Calendar and DateEntry widgets for Tkinter. The DateEntry widget is similar to a Combobox, but the drop-down is not a list but a Calendar to select a date. tkcalendar is compatible with both Python 2 and Python 3. It support all locale settings supported by the system and the colors are customizable.
Requirements
- Linux, Windows, Mac
- Python 2 or 3 with tkinter + ttk (default for Windows but not for Linux)
Installation
- Ubuntu: use the PPA ppa:j-4321-i/ppa - $ sudo add-apt-repository ppa:j-4321-i/ppa $ sudo apt-get update $ sudo apt-get install python(3)-tkcalendar 
- Archlinux: - The package is available on AUR 
- With pip: 
$ pip install tkcalendar
Documentation
- Calendar widget - Syntax: - Calendar(master=None, **kw) - Widget keyword options: - Standard options - cursor: cursor to display when the pointer is in the widget - font: font of the calendar, can be a string such as "Arial 20 bold" or a Tkinter Font instance - borderwidth: width of the border around the calendar (integer) 
- Widget-Specific Options - year, month: initially displayed month, default is current month - day: initially selected day, if month or year is given but not day, no initial selection, otherwise, default is today - locale: locale to use, e.g. "fr_FR" for a French calendar - selectmode: "none" or "day" (default) define whether the user can change the selected day with a mouse click - background: calendar border and month/year name background color - foreground: month/year name foreground color - bordercolor: day border color - selectbackground: selected day background color - selectforeground: selected day foreground color - normalbackground: normal week days background color - normalforeground: normal week days foreground color - othermonthforeground: foreground color for normal week days belonging to the previous/next month - othermonthbackground: background color for normal week days belonging to the previous/next month - othermonthweforeground: foreground color for week-end days belonging to the previous/next month - othermonthwebackground: background color for week-end days belonging to the previous/next month - weekendbackground: week-end days background color - weekendforeground: week-end days foreground color - headersbackground: day names and week numbers background color - headersforeground: day names and week numbers foreground color 
- Virtual Events - A <<CalendarSelected>> event is generated each time the user selects a day with the mouse. 
 
- DateEntry widget - Date selection entry with drop-down calendar. - Syntax: - DateEntry(master=None, **kw) - Widget keyword options: - Keyword options of Calendar to configure the drop-down calendar 
- Keyword options of ttk.Entry - By default, 'validate' is set to 'focusout' and 'validatecommand' is configured so that each time the widget looses focus, if the content is not a valid date (in locale format '%x'), it is reset to the previous valid date. - The widget style is set to 'DateEntry'. A custom style inheritting from 'DateEntry' can be created by naming it '<style name>.DateEntry' 
- Virtual Events - A <<DateEntrySelected>> event is generated each time the user selects a date. 
 
Changelog
- tkcalendar 1.1.4 - Fix error in january due to week 53
- Fix DateEntry for ttk themes other than 'clam'
 
- tkcalendar 1.1.3 - Make DateEntry support initialisation with partial dates (e.g. just year=2010)
- Improve handling of wrong year-month-day combinations
 
- tkcalendar 1.1.2 - Fix bug after destroying a DateEntry
- Fix bug in style and font
 
- tkcalendar 1.1.1 - Fix bug when content of DateEntry is not a valid date
 
- tkcalendar 1.1.0 - Bug fix: - Fix display of the first days of the next month
- Increment year when going from december to january
 
- New widget: - DateEntry, date selection entry with drop-down calendar
 
- New options in Calendar: - borderwidth: width of the border around the calendar (integer)
- othermonthbackground: background color for normal week days belonging to the previous/next month
- othermonthweforeground: foreground color for week-end days belonging to the previous/next month
- othermonthwebackground: background color for week-end days belonging to the previous/next month
 
 
- tkcalendar 1.0.0 - Initial version
 
Example
try:
    import tkinter as tk
    from tkinter import ttk
except ImportError:
    import Tkinter as tk
    import ttk
from tkcalendar import Calendar, DateEntry
def example1():
    def print_sel():
        print(cal.selection_get())
    top = tk.Toplevel(root)
    cal = Calendar(top,
                   font="Arial 14", selectmode='day',
                   cursor="hand1", year=2018, month=2, day=5)
    cal.pack(fill="both", expand=True)
    ttk.Button(top, text="ok", command=print_sel).pack()
def example2():
    top = tk.Toplevel(root)
    ttk.Label(top, text='Choose date').pack(padx=10, pady=10)
    cal = DateEntry(top, width=12, background='darkblue',
                    foreground='white', borderwidth=2)
    cal.pack(padx=10, pady=10)
root = tk.Tk()
s = ttk.Style(root)
s.theme_use('clam')
ttk.Button(root, text='Calendar', command=example1).pack(padx=10, pady=10)
ttk.Button(root, text='DateEntry', command=example2).pack(padx=10, pady=10)
root.mainloop()