[Python编程(第4版)].(Programming.Python.4th.Edition).Mark.Lutz.文字版

(yzsuai) #1

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 computer display.
The examples will become progressively more sophisticated as we move along, but let’s
get a handle on the fundamentals first.


“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 7-1, it’s just four lines in Python.


Example 7-1. PP4E\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 7-1 on my Windows 7 laptop (I
stretched some windows in this book horizontally to reveal their window titles; your
platform’s window system may vary).


Figure 7-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. Run this script on your machine
to see how it renders. When this same file is run on Linux it produces a similar window,
but it behaves according to the underlying Linux window manager. Even on the same
operating system, the same Python code might yields a different look-and-feel for dif-
ferent window systems (for instance, under KDE and Gnome on Linux). 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.


368 | Chapter 7: Graphical User Interfaces

Free download pdf