Modern Tk Best Practices

Tk is the only cross-platform (Windows, Mac, Unix) graphical user interface toolkit designed exclusively for high-level dynamic languages, like Python, Tcl, Ruby, Perl, and others. Whatever language you use, this site brings you the current, high-quality essential information you need to get the most out of Tk.

Learn the latest modern Tk features and make better GUI's.

The TkDocs tutorial makes it fast and easy to learn what you need to build mainstream desktop graphical user interfaces, whether you're using Tkinter (Python), Tcl/Tk, RubyTk, or Tkx (Perl).

Tk radically improved in 2007, allowing you to create modern applications. But you needed to do a few things differently. If you didn't — and most of the documentation available doesn't show you how — your applications will still look like they were stuck in 1995. TkDocs shows you the right way to build Tk applications today.

python logo Python users, please consider buying Modern Tkinter (paperback or e-book), which supports TkDocs.

Updated by Mark Sep 12, 2025

Tk 8.6 and 9.0 builds on the themed widgets introduced in Tk 8.5.
Latest versions: 8.6.17 (Aug 15, 2025) and 9.0.2 (Jul 2, 2025).

With over ten years of maturity under its belt, 8.6 should be for most people the Tk version of choice. Despite how much of a step forward 8.5 and 8.6 are, remember that people running their older Tk programs in the new version won't see a difference. Programs need to switch from the "classic" Tk widgets to the new themed "ttk::" widgets. Luckily this is not difficult, but you need to know the new stuff is there!

Updated by Mark Sep 12, 2025