Arkadaşlar merhaba. Python İmage Modül kullanarak tkinter içerisine frame de resim göstermek istiyorum. Resmi gösterebiliyorum fakat klavyeden c tuşuna (küçük c tuşu) bastığım zaman resmin bir sonraki resme geçmesini istiyorum. Aşagıdaki oda bakabilir misiniz hatam nerde acaba?
kodun bulunduğu dizin içerisinde resimler klasörü ve bu klasör içerisinde 000.jpg 001.jpg şeklinde resimler konularak program çalışmaktadır. resimler 800x600 boyutundadır.
size programın kodları ve resimler klasörü+resimleri ekledim. Ordan inceleyebilirsiniz.
Kod:
import os, sys
from Tkinter import *
from PIL import Image, ImageTk
anaPencere=Tk()
klasorListesi=os.listdir('./resimler')
try:
klasorListesi.remove('desktop.ini')
except:
pass
sozluk={}
for i in range (0, klasorListesi.__len__()):
sozluk[i]=klasorListesi[i]
i=0
resim1 = Image.open('./resimler'+ os.sep +sozluk[i])
resim2 = ImageTk.PhotoImage(resim1)
def degistir(event):
global i,resim1,resim2
i=i+1
resim1 = Image.open('./resimler'+ os.sep +sozluk[i])
resim2= ImageTk.PhotoImage(resim1,master=frame)
resim1Etiket.config(image=resim2)
widget = Label(anaPencere, text='Hosgeldiniz.')
widget.place(x=0, y= 0, width=640, height=25)
frame = Frame()
frame.place(x=0, y=30, width=860, height=640)
resim1Etiket=Label(frame) ## resim görüntülenmiyor
################
#eğer
#resim1Etiket=Label(frame, image=resim2)
#kullanılırsa resim görünüyor fakat değişmiyor
##############
resim1Etiket.config(bg="yellow")
resim1Etiket.bind('<c>', degistir)
resim1Etiket.pack()
anaPencere.mainloop()