Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用tkinter';读取.exe中的图标;s iconbitmap_Python_User Interface_Tkinter_Py2exe_Pyinstaller - Fatal编程技术网

Python 使用tkinter';读取.exe中的图标;s iconbitmap

Python 使用tkinter';读取.exe中的图标;s iconbitmap,python,user-interface,tkinter,py2exe,pyinstaller,Python,User Interface,Tkinter,Py2exe,Pyinstaller,我的应用程序内置在一个.exe文件中,带有py2exe。而不是此代码(当我有一个.ico文件时可以使用此代码): 我想用 root.iconbitmap(default='test.exe') 因为我有一个.exe文件,所以我不再有.ico文件了 它不起作用: _tkinter.TclError: bitmap "D:\temp\test.exe" not defined 此文件存在,但似乎iconbitmap无法从带有嵌入图标的.exe读取图标 如何使用tkinter的iconbitmap

我的应用程序内置在一个.exe文件中,带有
py2exe
。而不是此代码(当我有一个.ico文件时可以使用此代码):

我想用

root.iconbitmap(default='test.exe')
因为我有一个
.exe
文件,所以我不再有
.ico
文件了

它不起作用:

_tkinter.TclError: bitmap "D:\temp\test.exe" not defined
此文件存在,但似乎
iconbitmap
无法从带有嵌入图标的.exe读取图标


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

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

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

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

是的,我也不知道怎么做。一个更直接的选择是从.exe中提取并使用图标,但是如何呢?
ico = Image.open('Image_dossier/Cover.png')
photo = ImageTk.PhotoImage(ico)
root.wm_iconphoto(False, photo)