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.
Thanks for visiting TkDocs, which provides 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.
This site is most decidedly not be a repository of all known information about Tk, or an 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. In fact, most people creating Tk applications today are doing so in Python (via Tkinter). TkDocs provides as much information as possible that directly fits your language of choice, and failing that, helps make information from other languages easy to adapt.
While the centrepiece of the site is the tutorial, other resources have been added over time, including archives of some resources developed elsewhere.
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 mark@tkdocs.com.
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.
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.
 All material on this site is Copyright © 2007-2025 Mark Roseman.  
This work is licensed under a 
Creative Commons Attribution-Noncommercial-ShareAlike 4.0 International 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.
All material on this site is Copyright © 2007-2025 Mark Roseman.  
This work is licensed under a 
Creative Commons Attribution-Noncommercial-ShareAlike 4.0 International 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.