2016-01-23 50 views
0

我想用我自己的图标替换Tkinter图标,但其他问题的答案无济于事。在同一个文件夹中,我将我的脚本和使用Paint创建的图像保存为icon.png。下面是该脚本:在Tkinter中设置图标

TclError: couldn't recognize data in image file "icon.png"

回答

1

错误实际上是在该行icon = PhotoImage...,上述root.tk.call... - 它试图读取文件的:

from Tkinter import * 

root = Tk() 

icon = PhotoImage(file='icon.png') 
root.tk.call('wm', 'iconphoto', root._w, icon) 

root.mainloop() 

此错误是从root.tk.call方法制成的数据转换为PhotoImage对象并失败。

Tkinter本身不支持PNG文件类型。您需要使用受支持的文件类型,例如GIF。如果您想从各种各样的文件类型(包括PNG)中进行选择,我推荐安装Pillow,这是PIL(“Python Imaging Library”)的最新版本。但是,再次在Paint中打开图像可能是最简单的,这次将它保存为GIF,然后使用它。

+0

感谢您解释有关文件类型的信息。我将它保存为一个GIF,它工作,虽然我最终使用了base64嵌入式图像,因为它是一个小图像。 – pengowen123