Seite 1 von 1

tkinter,bilder und unterprogramme

Verfasst: Samstag 27. Januar 2007, 09:56
von VAIVS
hallo,

ich schreibe ein programm wo man mit drücken der 'a' taste ein fenster mit einem bild erscheinen soll.das problem ist ,dass ich immer diese fehlermeldung bekomme wenn ich auf die 'a' taste drücke:

Code: Alles auswählen

Exception in Tkinter callback
Traceback (most recent call last):
  File "D:\Programme\python\lib\lib-tk\Tkinter.py", line 1403, in __call__
    return self.func(*args)
  File "C:/Dokumente und Einstellungen/Salva/Eigene Dateien/Info/Python/Projekte/Yu-Gi-Oh_SimulatorV4/testsimulator.pyw", line 13, in abc
    bild_token = Label(frame_t, image=ph_token)
  File "D:\Programme\python\lib\lib-tk\Tkinter.py", line 2464, in __init__
    Widget.__init__(self, master, 'label', cnf, kw)
  File "D:\Programme\python\lib\lib-tk\Tkinter.py", line 1930, in __init__
    (widgetName, self._w) + extra + self._options(cnf))
TclError: image "pyimage7" doesn't exist
Hier ist das programm. ich hoffe ihr könnt mir weiterhelfen.

Code: Alles auswählen

from Tkinter import *
from PIL import Image, ImageTk

def abc(event):
    
       hf_t = Tk()
       frame_t = Frame(hf_t)
       frame_t.pack()
    
       im_token = Image.open('tokus.jpg')
       ph_token = ImageTk.PhotoImage(im_token)

       bild_token = Label(frame_t, image=ph_token)
       bild_token.pack()

       hf_t.mainloop()

hf = Tk()
frame = Frame(hf)
frame.pack()
frame.bind_all('a', abc)
hf.mainloop()

Verfasst: Samstag 27. Januar 2007, 10:35
von BlackJack
Zwei Fehler: `Tk` ist immer der Typ vom Hauptfenster und davon darf es nur eines geben, und `mainloop()` heisst *Haupt*schleife ─ davon darf es auch nur eine geben.

Zusätzliche Fenster kann man mit der Klasse `Toplevel` erstellen.

Was sollen denn die `*_t` in den Namen in der `abc()`-Funktion bedeuten?

danke

Verfasst: Samstag 27. Januar 2007, 12:06
von VAIVS
danke, für die hilfe. jetzt klappt das endlich.