Итак, я запускаю python 2.6 на macbook pro и пытаюсь написать код на python, чтобы отобразить изображение из файла в метке на tkinter gui. Изображение называется image.png. Программа работает без ошибок, когда я использую этот кодPython PIL ImageTk.PhotoImage() дает мне ошибку шины?
i = Image.open("image.png")
но когда я делаю этот код (добавить одну строку):
i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Программа будет врезаться и сказать «ошибка шины» в команде линия. Я даже не знаю, что это значит. Я думаю, что PIL установлен правильно, так как Image работает, но тот факт, что ImageTk не работает, меня озадачивает. Может ли кто-нибудь сказать мне, что может вызвать эту ошибку шины?
EDIT: Ну, я сделал новую программу, чтобы проверить ошибку дальше. Вот точный сценарий, который я запускал:
import Image
import ImageTk
i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Теперь вместо того, чтобы получить «Ошибка шины», это моя трассировка.
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
Пожалуйста, отредактируйте ваш вопрос, чтобы показать полную информацию о трассировке и точной ошибке. –