【问题标题】:Python Tkinter window Icon will not import new iconPython Tkinter 窗口图标不会导入新图标
【发布时间】:2012-11-27 11:28:20
【问题描述】:

我正在查看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

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

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    尝试将文件路径中的“\”字符替换为“/”。 '\' 表示字符串文字,可以通过引号。

    【讨论】:

      【解决方案2】:

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

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

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

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

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

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

      root.mainloop()
      

      希望对你有帮助

      【讨论】:

      • luc,我遇到的唯一问题与图标有关。 ico 文件存在,我使用推荐的网站 link 创建它。图像工作正常,在我使用的其他程序中具有 root.mainloop()。我刚刚粘贴了显示错误的代码。
      • 好的,所以它只是在问题中的代码中输入错误。如果您希望人们可以轻松地运行您的示例,您可能必须解决这个问题。关于这个问题,你有没有试过把 ico 放到 app 文件夹里直接访问?
      • 我做了,错误没有变化。使用命令提示符,我能够导航到目录并打开图标。所以路径很好。我想知道图标图像本身是否需要从具有不同格式的图片创建
      猜你喜欢
      • 2019-01-02
      • 2018-08-05
      • 2022-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-07
      相关资源
      最近更新 更多