Seite 1 von 1

Prüfen welches Bild bei Label gesetzt ist

Verfasst: Freitag 29. Januar 2010, 17:18
von Gerenuk
Ich habe ein bisschen programmiert und für mein Programm ist die einfachste Lösung, wenn ich irgendwie auslesen könnte, was für ein Bild bei Label gesetzt ist. Also probiere ich

Code: Alles auswählen

import Tkinter as tk
from PIL import Image, ImageTk

class App:
    def __init__(self, master):
        self.imgOrange = ImageTk.PhotoImage(Image.open("orange.png"))
        label=tk.Label(master, image=self.imgOrange)
        label.pack()
   
        if label["image"]==self.imgOrange:
            print "Ja!!!"

root = tk.Tk()
app = App(root)
root.mainloop() 
aber es ist vielleicht nicht überraschend, dass der Vergleich nicht funktioniert.

Wie schaffe ich es zu prüfen, welches Bild ich ursprünglich mal gesetzt habe?

Verfasst: Freitag 29. Januar 2010, 17:32
von numerix
Wenn du Zeile 10 so abänderst, funktioniert es:

Code: Alles auswählen

if label["image"] == str(self.imgOrange):
Bist du sicher, dass es das ist, was du willst?
Vielleicht wäre es günstiger, das label mit einem Attribut "imgname" o.ä. zu versehen und darin den/einen Namen der Grafik(datei) abzulegen?

Verfasst: Freitag 29. Januar 2010, 17:35
von Gerenuk
Ah OK. Der key access macht wohl einen string draus.

Dann versuche ich mal ins Label ein extra Attribut reinzumehren. Danke! :)