Donc, je cours python 2.6 sur un macbook pro et essaye d'écrire le code dans python pour montrer une image d'un dossier dans un label sur un tkinter gui. L'image s'appelle image.png. Le programme fonctionne sans erreurs lorsque j'utilise ce codePython PIL ImageTk.PhotoImage() me donne une erreur de bus?
i = Image.open("image.png")
mais quand je fais ce code (ajouter une ligne):
i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Le programme se bloque et dire « erreur de bus » dans la commande ligne. Je ne sais même pas ce que ça veut dire. Je pense que PIL est installé correctement, puisque Image fonctionne, mais le fait qu'ImageTk ne fonctionne pas me laisse perplexe. Quelqu'un peut-il me dire ce qui pourrait causer cette erreur de bus?
EDIT: Eh bien, j'ai fait un nouveau programme pour tester l'erreur plus loin. Voici le script exact que j'ai exécuté:
import Image
import ImageTk
i = Image.open("image.png")
photo = ImageTk.PhotoImage(i)
Maintenant, au lieu d'obtenir "Erreur de bus", c'est ma 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
Veuillez modifier votre question pour afficher le message de trace complet et le message d'erreur exact que vous obtenez. –