Create a Sideshow application in Python
Last Updated :
29 Dec, 2020
Improve
In this article, we will create a slideshow application i.e we can see the next image without changing it manually or by clicking.
Modules Required:
- Tkinter: The tkinter package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit.
- Pillow: The Python Imaging Library adds image processing capabilities to your Python interpreter. This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities. It can be installed using the below command:
pip install Pillow
Step-by-step Approach:
- Firstly we have to import the modules.
Python3
# import required modules import tkinter as tk from tkinter import * from PIL import Image from PIL import ImageTk |
- Load the images.
Python3
# adjust window root = tk.Tk() root.geometry( "200x200" ) # loading the images img = ImageTk.PhotoImage(Image. open ( "photo1.png" )) img2 = ImageTk.PhotoImage(Image. open ( "photo2.png" )) img3 = ImageTk.PhotoImage(Image. open ( "photo3.png" )) l = Label() l.pack() |
- Now we have to make a function called move to make the image move(It here means that one image appears and after a movement, it disappears.
Python3
# using recursion to slide to next image x = 1 # function to change to next image def move(): global x if x = = 4 : x = 1 if x = = 1 : l.config(image = img) elif x = = 2 : l.config(image = img2) elif x = = 3 : l.config(image = img3) x = x + 1 root.after( 2000 , move) # calling the function move() |
- Now we have to just call the mainloop function of tkinter to end the task.
Python3
root.mainloop() |
- Whole Code=
Python3
# import required modules import tkinter as tk from tkinter import * from PIL import Image from PIL import ImageTk # adjust window root = tk.Tk() root.geometry( "200x200" ) # loading the images img = ImageTk.PhotoImage(Image. open ( "photo1.png" )) img2 = ImageTk.PhotoImage(Image. open ( "photo2.png" )) img3 = ImageTk.PhotoImage(Image. open ( "photo3.png" )) l = Label() l.pack() # using recursion to slide to next image x = 1 # function to change to next image def move(): global x if x = = 4 : x = 1 if x = = 1 : l.config(image = img) elif x = = 2 : l.config(image = img2) elif x = = 3 : l.config(image = img3) x = x + 1 root.after( 2000 , move) # calling the function move() root.mainloop() |
Output: