Python Tkinter命令" iconbitmap"

时间:2015-04-30 16:37:07

标签: python tkinter icons

你好,我有一个带有Tkinter窗口的程序,我想为窗口设置一个图标。我编写了这个代码:okno.iconbitmap(os.path.dirname(os.path.abspath(__file__))+"/icon.png")但它写道:

Traceback (most recent call last):
  File "Alchymist_lab.py", line 241, in <module>
    okno.iconbitmap(os.path.dirname(os.path.abspath(__file__))+"/icon.png")
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1591, in wm_iconbitmap
    return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "/home/lenka/documents/Alchymist_Lab/icon.png" not defined

我知道原因:因为我的图标文件与我的代码位于同一目录中。但我确实想把它放在与我的代码相同的目录中。有解决方案吗?

4 个答案:

答案 0 :(得分:1)

假设Windows操作系统中出现此错误,问题是iconbitmap似乎不支持Windows中的png文件类型。请改用.ico文件类型。这个webtool对我来说非常棒 - https://iconverticons.com/online/。对于Linux OS,请使用xbm filetype。

PS-请在下次提问时提供相关详细信息。例如:您收到此错误的操作系统的名称和版本。

答案 1 :(得分:1)

使用枕头库将文件转换为ico格式的代码。可用格式:https://pillow.readthedocs.io/en/latest/handbook/image-file-formats.html

from PIL import Image
filen = r'icon.png'
img = Image.open(filen)
img.save('icon.ico',format = 'ICO', sizes=[(32,32)])

答案 2 :(得分:0)

在添加主循环之前在PyCharm中

app.iconbitmap(r'C:\Users\User\PycharmProjects\HelloWorld\my.ico')

在控制台输入中

pyinstaller --onefile -w -F -i "my.ico" my.py

答案 3 :(得分:0)

你可以设置你的图标目录,在你的代码的同一个文件夹中并不重要,例如我将我的图标保存在这个 aیdress C:\PYTHON\library\images 的图像文件夹中

from tkinter import *

win = Tk() win.iconbitmap('C:/PYTHON/library/images/book5.ico') win.mainloop()