mein jpg wird einfach nicht angezeigt

Fragen zu Tkinter.
Antworten
lala
User
Beiträge: 4
Registriert: Dienstag 25. Juli 2006, 15:17

hi
ich bin noch recht neu mit python unterwegs, und probiere grad mal so ein bissl mit grafiken rum, und stieß leider gleich zu beginn auf ein problem. ich denke, dass der code funktionieren müsste, aber das bild wird einfach nicht angezeigt :( vielleicht kann mir jemand sagen was hier falsch ist.

Code: Alles auswählen

def show_n():
    im = Image.open('1.jpg')
    im.thumbnail((128, 128), Image.ANTIALIAS)
    photo = ImageTk.PhotoImage(im)
    Label(image=photo).pack()

root=Tk()
root.title("Thumbnail")
but = Button(root,text="Bild",command=show_n)
but.pack()
root.mainloop()
Mein ziel ist es, eine verkleinerte version eines bildes auf knopfdruck anzeigen zu lassen.

Edit (Leonidas): In Tkinter-Forum verschoben.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

photo darf keine lokale Variable sein, sondern global oder ein Klassenattribut, also z.B.:

Code: Alles auswählen

from Tkinter import *
import Image, ImageTk

class MyClass:
    def __init__(self, parent):
        im = Image.open('1.jpg') 
        im.thumbnail((128, 128), Image.ANTIALIAS) 
        self.photo = ImageTk.PhotoImage(im)  # <--
        Button(root,text="Bild",command=self.show_n).pack()

    def show_n(self): 
        Label(root, image=self.photo).pack()  # <--

root=Tk() 
root.title("Thumbnail")
my_class = MyClass(root)
root.mainloop() 
lala
User
Beiträge: 4
Registriert: Dienstag 25. Juli 2006, 15:17

super danke. ich hab jetzt auch das python-tutorium in deutsch gefunden (endlich) und muss mich nicht mehr mit dem englischen plagen. so werd ich in zukunft wohl weniger fragen haben *freu*
Antworten