Skip to Main Content
Programming Python, 3rd Edition
book

Programming Python, 3rd Edition

by Mark Lutz
August 2006
Intermediate to advanced content levelIntermediate to advanced
1600 pages
51h 46m
English
O'Reilly Media, Inc.
Content preview from Programming Python, 3rd Edition

Climbing the GUI Learning Curve

On to the code; let’s start out by quickly stepping through a few small examples that illustrate basic concepts, and show the windows they create on the screen. The examples will become more sophisticated as we move along.

“Hello World” in Four Lines (or Less)

The usual first example for GUI systems is to show how to display a “Hello World” message in a window. As coded in Example 8-1, it’s just four lines in Python.

Example 8-1. PP3E\Gui\Intro\gui1.py

from Tkinter import Label                                # get a widget object
widget = Label(None, text='Hello GUI world!')            # make one
widget.pack( )                                           # arrange it
widget.mainloop( )                                       # start event loop

This is a complete Python Tkinter GUI program. When this script is run, we get a simple window with a label in the middle; it looks like Figure 8-1 on Windows.

“Hello World” (gui1) on Windows

Figure 8-1. “Hello World” (gui1) on Windows

This isn’t much to write home about yet; but notice that this is a completely functional, independent window on the computer’s display. It can be maximized to take up the entire screen, minimized to hide it in the system bar, and resized. Click on the window’s “X” box in the top right to kill the window and exit the program.

The script that builds this window is also fully portable. When this same file is run on Linux it produces a similar window, but it behaves according to the underlying Linux window manager. For instance, Figure 8-2 and ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Python, 3rd Edition

Learning Python, 3rd Edition

Mark Lutz

Publisher Resources

ISBN: 0596009259Supplemental ContentErrata Page