Python'da Tıklanabilir Görüntü nasıl yapılır
Aug 29 2020
Python görüntü programlamada acemiyim. Görüntülemem gereken görüntüye tıklarsam, 1. görüntüye tıklanırsınız. Şimdiye kadar denediğim şeyi aşağıya ekledim. Çalışmıyor cevap görüntüleniyor img 1, img 1, img 1 her zaman
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()
Yanıtlar
1 CoolCloud Aug 29 2020 at 06:34
Bu örneğe bir göz atın
Burada butona tıklayabilirsiniz ve bu size resme tıklama efekti verir.
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()
Umarım sana yardımcı olmuştur
Şerefe
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'