Images
In Tkinter, graphical images are displayed by creating independent PhotoImage or BitmapImage objects, and then attaching
those image objects to other widgets via image attribute settings. Buttons, labels,
canvases, text, and menus can display images by associating prebuilt
image objects in this way. To illustrate, Example 9-36 throws a picture up
on a button.
Example 9-36. PP3E\Gui\Tour\imgButton.py
gifdir = "../gifs/" from Tkinter import * win = Tk( ) igm = PhotoImage(file=gifdir+"ora-pp.gif") Button(win, image=igm).pack( ) win.mainloop( )
I could try to come up with a simpler example, but it would be
tough—all this script does is make a Tkinter PhotoImage object for a GIF file stored in
another directory, and associate it with a Button widget’s image option. The result is captured in
Figure 9-36.

Figure 9-36. imgButton in action
PhotoImage and its cousin,
BitmapImage, essentially load
graphics files and allow those graphics to be attached to other kinds
of widgets. To open a picture file, pass its name to the file attribute of these image objects. Canvas widgets—general drawing surfaces
discussed in more detail later in this tour—can display pictures too;
Example 9-37 renders Figure 9-37.

Figure 9-37. An image on canvas
Example 9-37. PP3E\Gui\Tour\imgCanvas.py
gifdir = "../gifs/" ...