使用tkinter的iconbitmap读取.exe中的图标

时间:2013-12-20 20:17:52

标签: python user-interface tkinter py2exe pyinstaller

我的应用内置于一个带有py2exe的.exe文件中。而不是这个代码(当我有一个.ico文件时可以工作):

root.iconbitmap(default='test.ico')

我想用

root.iconbitmap(default='test.exe')

因为我有一个.exe个文件,所以我没有.ico个文件......

不起作用:

_tkinter.TclError: bitmap "D:\temp\test.exe" not defined

此文件存在,但似乎iconbitmap无法从带有嵌入图标的.exe中读取图标...

如何使用tkinter的iconbitmap读取嵌入在.exe文件中的图标?

2 个答案:

答案 0 :(得分:0)

您可以尝试在应用程序的主循环之前生成动态图标,如this question的第三个答案。 (你仍然需要弄清楚如何将你的图标写入字符串,但也许这也是一个很好的问题!)

答案 1 :(得分:0)

由于图标必须是 .ico 文件,因此您可以尝试将图像转换为 .ico 文件,例如这里是我必须用于 Tkinter 程序的一些代码,您可以使用第二行将您的图像转换为 .ico 文件然后使用它:

ico = Image.open('Image_dossier/Cover.png')
photo = ImageTk.PhotoImage(ico)
root.wm_iconphoto(False, photo)