Skip to main content
 首页 » 编程设计

python之Tkinter Canvas 图像适用于 Windows 但不适用于 OSX

2025年05月04日11dudu

有些初学者所以请原谅我的错误。

我创建了一个 super 简单的 tk 脚本,它创建了一个 Canvas 并在其上显示图像。它适用于 Windows 但不适用于 OSX,唯一的区别是文件路径。

from tkinter import * 
from PIL import ImageTk, Image 
root = Tk() 
 
canv = Canvas(root, width=80, height=80, bg='white') 
canv.pack(expand=YES, fill=BOTH) 
 
img = ImageTk.PhotoImage(Image.open(r"C:\project\TechArt\tools\illustrator_label_browser\thumbnails\rachel_vector_lines.png"))  # PIL solution 
canv.create_image(20, 20, anchor=NW, image=img) 
 
mainloop() 

OSX Mojave

from tkinter import * 
from PIL import ImageTk, Image 
root = Tk() 
 
canv = Canvas(root, width=80, height=80, bg=‘white’) 
canv.pack(expand=YES, fill=BOTH) 
 
img = ImageTk.PhotoImage(Image.open(“/Users/jonathansundberg/Techart/tools/illustrator_label_browser/thumbnails/rachel_vector_lines.png”))  # PIL solution 
canv.create_image(20, 20, anchor=NW, image=img) 
 
mainloop() 

我做错了什么?

请您参考如下方法:

我也有 macOS Mojave。这三个命令可能会有所帮助:

sudo easy_install pip 
pip install Pillow 
python3.7 -m pip install pillow 

我能够使用您的代码和 python3.7 命令打开 jpeg 文件。