Python 如何将图像添加到onefile pyinstaller可执行文件中?
我的pyinstaller可执行文件有问题,启动时出现以下错误: 该问题是由于exe无法找到图像文件“icon.ico”,因为pyinstaller没有将该文件打包到可执行文件中。我要问的是如何将图标打包到EXE文件中,以及打包后图标文件的目录是什么。图像文件被用作Tkinter GUI的图标 这是Tkinter应用程序的代码:Python 如何将图像添加到onefile pyinstaller可执行文件中?,python,tkinter,pyinstaller,Python,Tkinter,Pyinstaller,我的pyinstaller可执行文件有问题,启动时出现以下错误: 该问题是由于exe无法找到图像文件“icon.ico”,因为pyinstaller没有将该文件打包到可执行文件中。我要问的是如何将图标打包到EXE文件中,以及打包后图标文件的目录是什么。图像文件被用作Tkinter GUI的图标 这是Tkinter应用程序的代码: app = Tk() app.title('MagnetMagnet - RARBG Scraper') app.iconbitmap(r'icon.ico') ap
app = Tk()
app.title('MagnetMagnet - RARBG Scraper')
app.iconbitmap(r'icon.ico')
app.geometry('500x225')
app.mainloop()
我认为您不必在python文件中给出图标。
相反,在终端(Windows)中键入
pyinstaller-i iconfile pythonfile一个简单的方法是保存图像的字节,打开图像时,将图片保存在电脑中,然后使用app.iconbitmap(r'icon.ico')
首先,使用open
获取图像字节:
with open('icon.ico','rb') as f:
ImageBytes = f.read()
print(ImageBytes)
# b'xxxxxxxxxxxxxxxxxx'
那么您的所有代码应该是:
ImageBytes = b'xxxxxxxxxxxxxxxxxx'
with open('icon.ico','wb') as f:
f.write(ImageBytes)
app = Tk()
app.title('MagnetMagnet - RARBG Scraper')
app.iconbitmap(r'icon.ico')
app.geometry('500x225')
app.mainloop()
当您打开此exe文件时,它将生成一个新的ico
图像,您可以将其删除。下次打开它时,它将再次生成一个新图像。我运行了pyinstaller-I icon.ico MagnetMagnet.py
,正如您所建议的,问题仍然存在。只有当我将图标文件移动到可执行文件目录中时,应用程序才会工作。请尝试pyinstaller-F-I icon.ico MangetMagnet.py
仍然是相同的问题,我必须移动图标文件才能工作。这是一个非常简单的方法!谢谢我挠头想弄明白这个人做了什么:但你突然冲了进来,为我节省了很多时间。谢谢你这个善良的陌生人