This tutorial will teach you how to make a Clickable Images using Python.
Step 1 Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | from tkinter import * from tkinter import messagebox from PIL import Image, ImageTk root = Tk() canvas = Canvas(root, width=600, height=600) canvas.pack() def first(): messagebox.showinfo('First','You clicked the first image') def second(): messagebox.showinfo('First','You clicked the second image') def third(): messagebox.showinfo('First','You clicked the third image') img_file = Image.open("1.jpg") img_file = img_file.resize((150, 150)) img = ImageTk.PhotoImage(img_file) b1 = Button(canvas,image=img,command=first).pack() img_file1 = Image.open("2.jpg") img_file1 = img_file1.resize((150, 150)) img1 = ImageTk.PhotoImage(img_file1) b2 = Button(canvas,image=img1,command=second).pack() img_file2 = Image.open("3.jpg") img_file2 = img_file2.resize((150, 150)) img2 = ImageTk.PhotoImage(img_file2) b3 = Button(canvas,image=img2,command=third).pack() root.mainloop() |
Step 2 Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | from tkinter import * from tkinter import messagebox from PIL import Image, ImageTk root = Tk() canvas = Canvas(root, width=600, height=600) canvas.pack() def main(event): if event.widget.cget('image') == 'pyimage1': messagebox.showinfo('First','You clicked the first image') elif event.widget.cget('image') == 'pyimage2': messagebox.showinfo('Second','You clicked the second image') elif event.widget.cget('image') == 'pyimage3': messagebox.showinfo('Third','You clicked the third image') img_file = Image.open("1.jpg") img_file = img_file.resize((150, 150)) img = ImageTk.PhotoImage(img_file) b1 = Button(canvas, image=img) b1.pack() b1.bind('<Button-1>', main) img_file1 = Image.open("2.jpg") img_file1 = img_file1.resize((150, 150)) img1 = ImageTk.PhotoImage(img_file1) b2 = Button(canvas, image=img1) b2.pack() b2.bind('<Button-1>', main) img_file2 = Image.open("3.jpg") img_file2 = img_file2.resize((150, 150)) img2 = ImageTk.PhotoImage(img_file2) b3 = Button(canvas, image=img2) b3.pack() b3.bind('<Button-1>', main) root.mainloop() |