Also ich Python 2.6 auf einem Macbook Pro laufen und versuchen, den Code in Python zu schreiben, um ein Bild aus einer Datei in einem Etikett auf einem Tkinter GUI anzuzeigen. Das Bild heißt image.png. Das Programm läuft ohne Fehler, wenn ich diesen Code verwendenPython PIL ImageTk.PhotoImage() gibt mir einen Busfehler?
i = Image.open("image.png")
aber wenn ich diesen Code zu tun (ich hinzufügen, eine Zeile):
i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Das Programm stürzt ab und „Bus-Fehler“ in dem Befehl sagen Linie. Ich weiß nicht einmal, was das bedeutet. Ich würde denken, dass PIL korrekt installiert ist, da Image funktioniert, aber die Tatsache, dass ImageTk nicht funktioniert, verwirrt mich. Kann mir jemand sagen, was diesen Busfehler verursachen könnte?
EDIT: Nun habe ich ein neues Programm gemacht, um den Fehler weiter zu testen. Hier ist das genaue Skript, das ich ausgeführt habe:
import Image
import ImageTk
i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Jetzt anstelle von "Bus Fehler", das ist meine Traceback.
Traceback (most recent call last):
File "imageTest.py", line 5, in <module>
photo = ImageTk.PhotoImage(i)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/PIL/ImageTk.py", line 113, in __init__
self.__photo = apply(Tkinter.PhotoImage,(), kw)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 3285, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/lib-tk/Tkinter.py", line 3226, in __init__
raise RuntimeError, 'Too early to create image'
RuntimeError: Too early to create image
Exception AttributeError: "PhotoImage instance has no attribute '_PhotoImage__photo'" in <bound method PhotoImage.__del__ of <ImageTk.PhotoImage instance at 0x3c7a30>> ignored
Bitte bearbeiten Sie Ihre Frage, um die vollständige Rückverfolgung und genaue Fehlermeldung anzuzeigen, die Sie erhalten. –