Tkinter PhotoImage

Several Tkinter widgets, including Label and Button, can take an image argument, which allows them to display an image. We can't simply put a path to an image file in those cases; instead, we have to create a PhotoImage object.

Making a PhotoImage object is fairly simple:

myimage = tk.PhotoImage(file='my_image.png')

PhotoImage is typically called with the keyword argument file, which is pointed to a file path. Alternatively, you can use the data argument to point to a bytes object containing image data.

A PhotoImage can be used wherever an image argument is accepted, such as a Label:

mylabel = tk.Label(root, image=myimage)

It's critical to note that your application must retain a reference to the PhotoImage object that ...

Get Python GUI Programming with Tkinter 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.