【发布时间】:2021-12-28 19:37:23
【问题描述】:
我需要一些关于 Tkinter 中图像的帮助.. 首先,我让它全部运行,但它不起作用,因为我需要一些“特殊代码”将媒体放入 .exe(--onefile),所以我不得不将它重写为这段代码:
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
try:
# PyInstaller creates a temp folder and stores path in _MEIPASS
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
# Window Setup
root = tk.Tk()
root.title('Title')
root.geometry("300x300")
root.resizable(height=0, width=0)
root.frame()
photoPath = resource_path('logo.png')
iconPath = resource_path('logo.ico')
photo = Image.open(photoPath)
icon = tk.PhotoImage(iconPath)
root.iconphoto(False, icon)
("resource_path" 代码来自:https://dev.to/eshleron/how-to-convert-py-to-exe-step-by-step-guide-3cfi)
我什至尝试将图标制作为 png,但随后 tkinter 说“不能使用 logo.png 作为 iconphoto:不是照片图像”
然后我以 PhotoImage 的方式编辑代码,它再次将颜色位图错误丢给我...
我做错了什么?
【问题讨论】:
-
显示任何 .ico 文件的最简单方法是使用
root.iconbitmap(icon)