Tkinter is Python's de-facto standard GUI (Graphical User Interface) package. It is a thin object-oriented layer on top of Tcl/Tk.
Tkinter is not the only GuiProgramming toolkit for Python. It is however the most commonly used one. CameronLaird calls the yearly decision to keep TkInter "one of the minor traditions of the Python world."
The Tkinter wiki: http://tkinter.unpythonic.net/wiki/
Tkinter Documentation
An Introduction To Tkinter (online) by FredrikLundh
Tkinter reference: a GUI for Python (online or pdf) by John W. Shipman, New Mexico Tech Computer Center
Python and Tkinter Programming by John Grayson (see also GuiBooks). This book just recently came back into print on demand, see the publisher's website http://www.manning.com/grayson
Tips for Python/Tk by Andreas Balogh (about useful documentation, GUI builders and tips using Grid and HList widgets)
David McNab recommended the latter two as particularly "pythonic" in not insisting that readers think in Tcl.
Thinking in Tkinter is an introduction to some basic Tkinter programming concepts.
Graphical User Interfaces with Tk, a chapter from the Python Library Reference..
Online Tcl/Tk Manual Pages - the official man pages at the Tcl Developer Xchange.
The New Mexico Institute of Mining and Technology created its own Tkinter manual. It is available in HTML and PDF.
TkDocs Tutorial, covers Python 3+ and Tk8.5, with easy to follow examples.
The Tkinter Life Preserver, by Matt Conway is still useful, though way out of date. It's the only document that explains how to read the Tcl/Tk manuals and translate the information there to Tkinter calls. HTML version, converted by Ken Manheimer.
The source: when all else fails: Read The Source, Luke!Demo/tkinter/ in the Python source distribution.
Lib/lib-tk/Tkinter.py in any Python distribution.
Tkinter Extensions
Pmw (http://pmw.sourceforge.net)
Tix (http://www.python.org/doc/current/lib/module-Tix.html)
TkZinc (http://www.tkzinc.org)
Comments
MythDebunking: TkInter is ugly on Windows (http://wiki.tcl.tk/8646)
Checking your Tkinter support
A good way to systematically check whether your Tkinter support is working is the following.
Enter an interactive Python interpreter in a shell on an X console.
Step 1 - can _tkinter be imported?
Try the following command at the Python prompt:
>>> import _tkinter # with underscore, and lowercase 't'
Step 2 - can Tkinter be imported?
Try the correct command for your version at the Python prompt:
>>> import Tkinter # no underscore, uppercase 'T' for versions prior to V3.0
>>> import tkinter # no underscore, lowercase 't' for V3.0 and later
Step 3 - does Tkinter work?
Try the correct command for your Python version at the Python prompt:
>>> Tkinter._test() # note underscore in _test and uppercase 'T' for versions prior to V3.0
>>> tkinter._test() # note underscore in _test and lowercase 'T' for V3.0 and later
If this doesn't work, study the error message you get; if you can't see how to fix the problem, ask for help.