How do I update images on a Tkinter Canvas?

The PIL or Pillow package in Python provides a way to process the images in a program. We can open an image, manipulate the image for different use, and can use it to visualize the data as well. To display an image in an application, we generally refer to the Canvas widget. As canvas widget provides many functionalities to add images and objects in an application, we can use it to display the images.

To change a particular image, we can configure the canvas by using the itemconfig() constructor. It takes image files that need to be updated and displays them on the window.


For this example, use three images of your choice and save them in the same project directory.

# Import the required library
from tkinter import *
from tkinter import ttk
from PIL import Image, ImageTk

# Create an instance of tkinter frame

# Set the geometry

# Define function to update the image
def update_image():

# Create a canvas and add the image into it
canvas=Canvas(win, width=650, height=350)

# Create a button to update the canvas image
button=ttk.Button(win, text="Update", command=lambda:update_image())

# Open an Image in a Variable

# Add image to the canvas
image_container=canvas.create_image(0,0, anchor="nw",image=img1)



Running the above code will display a window with a canvas and a button to update the canvas image.

Now, click the "Update" button to change the image.