Python Tkinter窗口图标不会导入新图标

时间:2012-12-10 02:55:52

标签: python tkinter

我正在查看Removing the TK icon on a Tkinter window,但在尝试复制代码时遇到了错误。以下是代码和错误

from Tkinter import *
import Image, ImageTk
import sys

def quit(self):
    self.root.destroy()

root = Tk()
root.title("GUI program")
root.iconbitmap(default="C:\easy\Pics\ILC.ico")
im = Image.open("C:\easy\Pics\No-Image-Available.jpg")

image1 = ImageTk.PhotoImage(im)

# root has no image argument, so use a label as a panel
panel1 = Label(root, image=image1)
panel1.pack(side='top', fill='both', expand='yes')

root.mainloop()

以下是错误的副本:

Traceback (most recent call last):
File "C:\easy\python\IPcam\test_image.py", line 11, in <module>
root.iconbitmap(default="C:\\easy\\Pics\\transparent.ico")
File "C:\Python25\lib\lib-tk\Tkinter.py", line 1524, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, '-default', default)
TclError: bitmap "C:\easy\Pics\transparent.ico" not defined

我遵循了所有步骤。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我已经执行了你的例子,它对我来说没问题。

当我为ico文件使用错误的路径时,我可以模拟您的错误。您是否仔细检查"C:\\easy\\Pics\\transparent.ico"是否存在?

您的代码中还存在两个潜在错误:

1)使用'\\'raw string路径:

im = Image.open(r"C:\easy\Pics\No-Image-Available.jpg")

2)不要忘记在最后运行tk主循环

root.mainloop()

我希望它有所帮助

答案 1 :(得分:0)

尝试在文件路径中用'/'替换'\'字符。 '\'表示字符串文字,可以通过引号。

相关问题