Section 8.4. Climbing the GUI Learning Curve


8.4. 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.

8.4.1. "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.

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 Figure 8-3 show this simple script in action on the Linux X Windows system, under the KDE and Gnome window managers, respectively. Even on the same operating system, the same Python code yields a different look-and-feel for different window systems.

Figure 8-2. "Hello World" on Linux with KDE


Figure 8-3. "Hello World" on Linux with Gnome


The same script file would look different still when run on Macintosh and other Unix-like window managers. On all platforms, though, its basic functional behavior will be the same.




Programming Python
Programming Python
ISBN: 0596009259
EAN: 2147483647
Year: 2004
Pages: 270
Authors: Mark Lutz

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net