.iconbitmap дает TclError: растровое изображение "*.ico" не определено

Я работаю с 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

3 ответа

Я нашел решение запустить терминал формы скрипта. Там он работает, но в моем VS-коде я получаю ту же ошибку, что и ваш.

У меня была аналогичная проблема с проектом, и в моем случае проблема заключалась в том, что файл Python находился в одной папке под названием "графика", чья папка находилась в другой папке, где у меня были все мои файлы Python. Если вы, как и я, используете VScode, я рекомендую вам проверить структуру файлов.

Если ваш файл .ico хранится в папке (например, ./python/logo.ico) и путь запуска терминала VS, который не включает папку, в которой находится файл .ico (например, ./python), вы получите такую ​​​​ошибку один. Решение этой проблемы --> укажите путь к вашему файлу .ico, используя реальный адрес в icobitmap(./python/logo.ico)

Другие вопросы по тегам