_tkinter.TclError:位图“icon.ico”未定义

问题描述 投票:0回答:3

我正在创建一个 tkinter 应用程序,当我添加应用程序图标时,它显示此错误

Traceback (most recent call last):
File "d:\Workspace\python demo\Workspace.py", line 553, in <module>
root.iconbitmap('icon.ico')
File "C:\Users\RAKESH\AppData\Local\Programs\Python\Python310\lib\tkinter\__init__.py", line 2109, in wm_iconbitmap    return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "icon.ico" not defined

当我第一次创建该应用程序时,它工作正常,但最近它无法工作

root = Tk()
root.iconbitmap('icon.ico')
root.update()
starttime = time.time()


root.wm_title("Workspace")
ob = Login(root)


root.mainloop()
python tkinter
3个回答
4
投票

Thyrus 提供的解决方案在 Windows 上对我来说工作得很好,但在 Linux 上却不行。在那里我得到了与原始问题中提到的相同的错误消息。根据 https://www.delftstack.com/de/howto/python-tkinter/how-to-set-window-icon-in-tkinter 我现在使用以下代码,该代码在两个系统上都适用:

import tkinter as tk
root = tk.Tk()

root.iconphoto(False, tk.PhotoImage(file='Capture.png'))
root.mainloop()

因此我必须使用 ImageMagic 将“.ico”转换为“.png”:

convert Capture.ico Capture.png

0
投票

首先导入 tkinter 并指定图标路径。这个示例代码将帮助您理解:

import tkinter as tk
root = tk.Tk()

root.iconbitmap('/path/to/ico/icon.ico')
root.mainloop()

0
投票

他是一个很想解决方案的问题。但遇到 Windows 的解决方案。 Si se tiene el icono en la missa carpeta que el archivo, crea una subcarpeta para Solo Iconos y al momento de llamarla hazlo midte:

root.iconbitmap('Nombre de la carpeta/nombre del Icono.ico')

Ejemplo:

import tkinter as tk
from tkinter import ttk

ventana = tk.Tk()
ventana.geometry('800x250')
ventana.title('Prueba')
ventana.iconbitmap('Iconos/robot.ico')

ventana.mainloop()

Espero esto sea de ayuda, ya que yo tambien lo necesite mucho.


每当我尝试运行该程序时,我总是遇到这个问题。但我似乎找到了解决方案,至少对于 Windows 来说是这样。
如果图标与文件位于同一文件夹中,请专门为图标创建一个子文件夹,并在引用它时使用:

root.iconbitmap('Folder Name/Icon Name.ico')

示例:

import tkinter as tk
from tkinter import ttk

window = tk.Tk()
window.geometry('800x250')
window.title('TEST')
window.iconbitmap('Icons/robot.ico')

window.mainloop()

我希望这对你有帮助,因为我自己也非常需要它。

© www.soinside.com 2019 - 2024. All rights reserved.