In this chapter, we have learned the core concepts of Python/Tkinter programming, and met a handful of simple widget objects along the way -- labels, buttons, frames, and the packer geometry manager. We've seen enough to construct simple interfaces, but have really only scratched the surface of the Tkinter widget set.
In the next two chapters, we will apply what we've learned here to study the rest of the Tkinter library, and learn how to use it to generate the kinds of interfaces you expect to see in realistic GUI programs. As a preview and roadmap, Table 6-1 lists the kinds of widgets we'll meet there, in roughly their order of appearance. Note that this table lists only widget classes; along the way, we will also meet a few additional widget-related topics that don't appear in this table.
Widget Class |
Description |
---|---|
Label |
A simple message area |
Button |
A simple labeled pushbutton widget |
Frame |
A container for attaching and arranging other widget objects |
Toplevel, Tk |
A new window managed by the window manager |
Message |
A multiline label |
Entry |
A simple single-line text-entry field |
Checkbutton |
A two-state button widget, typically used for multiple-choice selections |
Radiobutton |
A two-state button widget, typically used for single-choice selections |
Scale |
A slider widget with scalable positions |
PhotoImage |
An image object used for displaying full-color images on other widgets |
BitmapImage |
An image object used for displaying bitmap images on other widgets |
Menu |
A set of options associated with a Menubutton or top-level window |
Menubutton |
A button that opens a Menu of selectable options and submenus |
Scrollbar |
A control for scrolling other widgets (e.g., listbox, canvas, text) |
Listbox |
A list of selection names |
Text |
A multiline text browse/edit widget, with support for fonts, etc. |
Canvas |
A graphic drawing area, which supports lines, circles, photos, text, etc. |
We've already met the Label, Button, and Frame in this chapter's tutorial. To make the remaining topics easier to absorb, they are split over the next two chapters: Chapter 7 covers the first widgets in this table up to but not including Menu, and Chapter 8 presents widgets lower in this table.
Besides the widget classes in this table, there are additional classes and tools in the Tkinter library, many of which we'll explore in the following two chapters as well:
Geometry management
pack, grid, place
Tkinter linked variables
StringVar, IntVar, DoubleVar, BooleanVar
Composite widgets
Dialog, ScrolledText, OptionMenu
Scheduled callbacks
Widget after, wait, and update methods
Other tools
Standard dialogs, clipboard, bind and Event, widget configuration options, custom and modal dialogs, animation techniques
Most Tkinter widgets are familiar user interface devices. Some are remarkably rich in functionality. For instance, the Text class implements a sophisticated multiline text widget that supports fonts, colors, and special effects, and is powerful enough to implement a web browser, and the Canvas class provides extensive drawing tools powerful enough for image-processing applications. Beyond this, Tkinter extensions such as PMW add even richer widgets to a GUI programmer's toolbox.
Introducing Python
Part I: System Interfaces
System Tools
Parallel System Tools
Larger System Examples I
Larger System Examples II
Part II: GUI Programming
Graphical User Interfaces
A Tkinter Tour, Part 1
A Tkinter Tour, Part 2
Larger GUI Examples
Part III: Internet Scripting
Network Scripting
Client-Side Scripting
Server-Side Scripting
Larger Web Site Examples I
Larger Web Site Examples II
Advanced Internet Topics
Part IV: Assorted Topics
Databases and Persistence
Data Structures
Text and Language
Part V: Integration
Extending Python
Embedding Python
VI: The End
Conclusion Python and the Development Cycle