我正在创建一个 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()
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
首先导入 tkinter 并指定图标路径。这个示例代码将帮助您理解:
import tkinter as tk
root = tk.Tk()
root.iconbitmap('/path/to/ico/icon.ico')
root.mainloop()
他是一个很想解决方案的问题。但遇到 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()
我希望这对你有帮助,因为我自己也非常需要它。