Cara membuat Gambar yang Dapat Diklik dengan python
Aug 29 2020
Saya seorang pemula dalam pemrograman gambar python. Jika saya klik gambar yang saya butuhkan untuk menampilkan gambar yang diklik 1. seperti itu. apa yang saya coba sejauh ini saya lampirkan di bawah ini. Ini tidak berfungsi jawaban selalu ditampilkan img 1, img 1, img 1
from tkinter import *
from tkinter import messagebox
from PIL import Image, ImageTk
root = Tk()
canvas = Canvas(root, width=600, height=600)
canvas.pack()
def click() :
canvas.img = img
canvas.img1 = img1
canvas.img2 = img2
if(canvas.img):
print("img 1")
elif(canvas.img1):
print("2")
else :
print("3")
img_file = Image.open("1.jpg")
img_file = img_file.resize((150, 150) )
img = ImageTk.PhotoImage(img_file )
canvas.create_image(10, 50, anchor=NW, image=img)
img_file1 = Image.open("2.jpg")
img_file1 = img_file1.resize((150, 150))
img1 = ImageTk.PhotoImage(img_file1)
canvas.create_image(200, 50, anchor=NW, image=img1)
img_file2 = Image.open("3.jpg")
img_file2 = img_file2.resize((150, 150))
img2 = ImageTk.PhotoImage(img_file2)
canvas.create_image(400, 50, anchor=NW, image=img2)
Button(root, text="Add",command = click,height=3, width= 13).place(x=190, y=260)
root.mainloop()
Jawaban
1 CoolCloud Aug 29 2020 at 06:34
Lihat contoh ini
Di sini Anda dapat mengklik tombol dan ini memberi Anda efek mengklik gambar.
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("sad songs.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("feeling wallpapers.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("sad songs.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()
Semoga membantu Anda
Bersulang
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'