Tkinter Label – Display image
In Tkinter, you can display images using the Label widget and the PhotoImage class.
To display an image using a Label widget in Tkinter, create a PhotoImage object with the required image, and then pass this PhotoImage object as argument to Label class constructor via image parameter.
The code snippet would be as shown in the following.
label = tk.Label(window, image=photo)
Now, let us come to the image part photo, the second argument. This must be a PhotoImage object.
You can create a PhotoImage object using tkinter library as shown in the following, by directly providing the path of the image.
photo = tkinter.PhotoImage(file="background-1.png")
But, there are a very limited image formats that the tkinter.PhotoImage supports.
Therefore, it is recommended that you use Python Image Library PIL to create a PhotoImage object that supports a wide range of image formats.
from PIL import ImageTk, Image image = Image.open("image.jpg") photo = ImageTk.PhotoImage(image)
In this tutorial, you will learn how to display an image in a Label widget in Tkinter, with examples.
Consider that we have an image file aurora.png next to our Python file main.py.
In this example, we display the image aurora.png in a label widget.
import tkinter as tk from PIL import ImageTk, Image # Create the main window window = tk.Tk() window.title("PythonExamples.org") window.geometry("500x300") # Load the image image = Image.open("aurora.png") photo = ImageTk.PhotoImage(image) # Label widget to display the image label = tk.Label(window, image=photo) label.pack() # Run the application window.mainloop()
Run on a MacOS.
In this Python Tkinter tutorial, we learned how to display an image in a Label widget, with examples.