Information you need to build high-quality Tk user interfaces.
If you've found the material on this site useful, please consider purchasing this e-book (only $10), which is based on the Python material in the tutorial. Doing so helps me maintain and update this site. Thank you very much!
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 firstname.lastname@example.org.
There is also a TkDocs mailing list on Google Groups.
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.
Hosting for this site courtesy of workgroup-wiki software provider CourseForum Technologies. It's a complete coincidence that Mark happens to own this company.
Website design based on a site template from David Herreman and available at Free Css Templates.
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. Our blog will also announce any major changes, as well as providing lots of other material of interest.
All material on this site is Copyright © 2007-2015 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.