【问题标题】:.iconbitmap gives TclError: bitmap "*.ico" not defined.iconbitmap 给出 TclError: bitmap "*.ico" not defined
【发布时间】:2019-02-04 09:43:21
【问题描述】:

我正在使用 Tkinter,但在尝试运行代码时不断收到错误消息,有人可以帮忙吗?

from tkinter import *
from tkinter.messagebox import showinfo

def reply(name):
    showinfo(title='Reply', message='Hello %s!' % name)

top = Tk()
top.title('Echo')
top.iconbitmap('py-blue-trans-out.ico')
Label(top, text="Enter your name:").pack(side=TOP)

ent = Entry(top)
ent.pack(side=TOP)
btn = Button(top, text="Submit", command=(lambda: reply(ent.get())))
btn.pack(side=LEFT)
top.mainloop()

我不断收到此错误消息:

Traceback (most recent call last):
  File "C:\Users\User\Desktop\manage\tkinter103.py", line 9, in <module>
    top.iconbitmap('py-blue-trans-out.ico')
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1871, in wm_iconbitmap
    return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "py-blue-trans-out.ico" not defined

【问题讨论】:

  • 这个.ico文件和你的python程序在同一个目录吗?
  • 这段代码是在windows上运行的吗?请考虑在 Linux 或 Ubuntu 中您需要使用 .xbm 文件。
  • 它在 Windows 10 上运行
  • 尝试使用 .ico 文件的系统文件路径,看看会发生什么。我怀疑此文件与您的工作目录不在同一目录中。示例:C:\Users\username\folderpath\py-blue-trans-out.ico.

标签: python tkinter .ico


【解决方案1】:

我找到了运行脚本表单终端的解决方案。它在那里工作,但在我的 VS 代码中,我得到了和你一样的错误。

【讨论】:

    【解决方案2】:

    我在一个项目中遇到了类似的问题,我的问题是 Python 文件位于一个名为“graphics”的文件夹中,该文件夹位于另一个文件夹中,其中包含我的所有 Python 文件。如果你和我一样使用 VScode,我建议你检查一下你的文件结构。

    【讨论】:

      【解决方案3】:

      如果您的 .ico 文件存储在一个文件夹中(例如 ./python/logo.ico)并且 VS 终端运行路径不包括 .ico 文件所在的文件夹(例如 ./python),您将获得一个像那样的错误。 该问题的解决方案 --> 使用 icobitmap(./python/logo.ico) 中的真实地址提供 .ico 文件的路径

      【讨论】:

        猜你喜欢
        • 2022-10-01
        • 2021-03-29
        • 1970-01-01
        • 2012-05-22
        • 2023-03-04
        • 2021-03-05
        • 1970-01-01
        • 2015-04-03
        • 1970-01-01
        相关资源
        最近更新 更多