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 all display images by associating
prebuilt image objects this way. To illustrate, Example 7-36 throws a picture up on a button.
Example 7-36. PP2E\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 7-36.
Figure 7-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
on this tour -- can display pictures too; Example 7-37 renders Figure 7-37.
Example 7-37. PP2E\Gui\Tour\imgCanvas.py
gifdir = "../gifs/" from Tkinter import * win = Tk() img = PhotoImage(file=gifdir+"ora-lp.gif") can = Canvas(win) can.pack(fill=BOTH) can.create_image(2, ...
Get Programming Python, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.