Chapter 16. Tkinter GUIs
Most
professional applications interact with users through a graphical
user interface (GUI). A GUI is normally programmed through a
toolkit, which is a library that implements
controls (also known as
widgets) that are visible objects such as
buttons, labels, text entry fields, and menus. A GUI toolkit lets you
compose controls into a coherent whole, display them on-screen, and
interact with the user, receiving input via such devices as the
keyboard and mouse.
Python gives you a choice among many GUI toolkits. Some are
platform-specific, but most are cross-platform to different degrees,
supporting at least Windows and Unix-like platforms, and often the
Macintosh as well. Check http://phaseit.net/claird/comp.lang.python/python_GUI.html
for a list of dozens of GUI toolkits available for Python. One
package, anygui (http://anygui.org), lets you program simple
GUIs to one common programming interface and deploy them with any of
a variety of backends.
The most widespread Python GUI toolkit is Tkinter. Tkinter is an
object-oriented Python wrapper around the cross-platform toolkit Tk,
which is also used with other scripting languages such as Tcl (for
which it was originally developed) and Perl. Tkinter, like the
underlying Tcl/Tk, runs on Windows, Macintosh, and Unix-like
platforms. Tkinter itself comes with standard Python distributions.
On Windows, the standard Python distribution also includes the Tcl/Tk
components needed to run Tkinter. On other platforms, you must obtain
and install Tcl/Tk separately.
This chapter covers an essential subset of Tkinter, sufficient to
build simple graphical frontends for Python applications. A richer
introduction is available at http://www.pythonware.com/library/tkinter/introduction/.
|