Modern Tkinter
This site brings you the current, high-quality essential information you need to get the most out of Tk. We want to be a language-neutral, focused and opinionated resource for the entire Tk community.

Welcome to TkDocs

Thanks for visiting TkDocs, which has been set up to provide a highly selective resource for people learning and using Tk to build graphical user interfaces.

As you'll see from the Tk backgrounder, Tk has been around for a very long time, and so has gone through a lot of changes, not the least of which is the introduction of an entirely new widget set in Tk 8.5 (December 2007). Like a lot of fast-moving open source projects, it's hard to keep a wide range of documentation in sync, and this is complicated by the myriad ways Tk is used.

Developers first wanting to learn Tk can be overwhelmed at the range of documentation out there, much of it incredibly out of date. Even Tk experts have a hard time keeping track of which are the right tools to use. And because Tk can be used from so many different programming languages, finding information relevant to your language of choice is even harder.

What you can Expect

This site will most decided not be a repository of all known information about Tk, or attempt to catalog every possible choice of widget, extension, technique or application that is out there. In fact, we want this site to help you not need to make choices, by providing you with a highly-opinionated and biased take on what we think mainstream developers should know to build mainstream desktop applications. If software can be opinionated, so can documentation.

As much as possible, we'll aim to provide language-neutral information. While there is naturally a tight bond between Tcl and Tk, it's a natural match for so many other dynamic languages. Part of what we want to do is deliver as much information as we can that directly fits your language of choice, and failing that, do what we can to help make information from other languages easy to adapt.

Of course, the real goal is to bring closer together the community of Tk developers, who are too often hidden in language-specific silos. The more we can all share our ideas and help to improve things together, the better off we'll all be. And if that helps stimulate additional new Tk users, all the better!

Site Developers and Contact Info

This site has been developed by Mark Roseman, who has been using Tk for both open source and commercial software on-and-off since about 1992. For any site questions, comments, corrections and contributions, please feel free to email

There is also a TkDocs mailing list on Google Groups.

Additional Credits

This site has benefited from contributions and comments by many people. Included among these are Dmitry Bushenko, Joe English, Donal Fellows, Mike Griffiths, John Hamill, Jeff Hobbs, Mike Ignatoski, Steve Landers, Andrew Matthewman, Tom Maynard, Mojca Miklavec, Bryan Oakley, Nemanja Peshovich, Guilherme Polo. Ben Smith, Janko Stamenovic, Pat Thoyts, David Trudgett, Larry Virden, Kevin Walzer, and Jayson Williams. Thanks also to various authors and contributors on both the comp.lang.tcl newsgroup and the Tcler's Wiki.

Site Changes

As we add to or change material on the site, we'll keep our change log updated, so that you can keep track of what material is new on the site.

Site Copyright

Creative Commons License All material on this site is Copyright © 2007-2020 Mark Roseman. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Canada License. If you have any questions regarding the use of the material on this site, including possible uses not covered by the license, please don't hesitate to email Mark.