我正在使用 Tkinter 编写一个程序,该程序最终将使用 py2exe 编译成一个 exe。我想包含一个图标以供在 Windows 上使用。它将与我打包为 exe 的图标相同。有没有办法通过定位 exe 文件或使用类似文件的对象将图标包含在 Tkinter 中?我知道win32api可以找到当前正在运行的exe文件,但我相信py2exe会将原始文件提取到temp,然后运行它,所以无法找到原始exe文件。我也想过将它放在一个包含文件夹中,但我不知道 cwd 是否会为此设置正确。提前感谢您的帮助!
最佳答案
Tk 图像有一个 -data
选项,它可以让你在代码中嵌入图像。您只需要对图像进行 base64 编码。我认为图像最初必须是 GIF 格式。
这是一个工作示例:
import Tkinter as tk
root = tk.Tk()
data = '''R0lGODlhIAAgALMAAAAAAAAAgHCAkC6LV76+vvXeswD/ANzc3DLNMubm+v/6zS9P
T6Ai8P8A/////////yH5BAEAAAkALAAAAAAgACAAAAS00MlJq7046803AF3ofAYY
fh8GIEvpoUZcmtOKAO5rLMva0rYVKqX5IEq3XDAZo1GGiOhw5rtJc09cVGo7orYw
YtYo3d4+DBxJWuSCAQ30+vNTGcxnOIARj3eTYhJDQ3woDGl7foNiKBV7aYeEkHEi
gnKFkk4ciYaImJqbkZ+PjZUjaJOElKanqJyRrJyZgSKkokOsNYa2q7mcirC5I5Fo
fsK6hcHHgsSgx4a9yzXK0rrV19gRADs=
'''
img = tk.PhotoImage(data=data)
label = tk.Label(image=img)
label.pack()
root.mainloop()
关于python - 为 Tk().iconbitmap() 使用类似对象的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4211064/