如何使用 Tkinter 设置 window 图标?
How do I setup a window Icon using Tkinter?
我正在尝试设置一个 window 图标,这样它就会出现在我正在使用的词典名称旁边。当我 运行 代码时,出现以下问题:
Traceback (most recent call last):
File "/Users/sergioley-languren/Latin_app/windows.py", line 20, in <module>
window.iconphoto(False, tk.PhotoImage(file='/Users/sergioley-languren/home/Latin_app/Logo.jpeg'))
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 4061, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 4006, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't recognize data in image file "/Users/sergioley-languren/Latin_app/Logo.jpeg"
当我尝试使用 iconbitmap
tkinter 函数将 .jpeg 文件转换为 .ico 图片时,它起作用了,但我得到的是一个空白页面图标。下面的代码是有问题的代码:
### Imports
import tkinter as tk
from tkinter import *
from pathlib import Path
##Extra Code
home = print(Path.home())
### Application screen code
window = Tk()
##Frame
frame1 = Frame(window)
frame1.pack()
## Window Title
window.title("Latin Unit 1 Dictionary - Based on Orion Academy Latin I , Unit 1")
window.geometry('1110x950')
#App Icon
window.iconphoto(False, tk.PhotoImage(file='/Users/sergioley-languren/home/Latin_app/Logo.jpeg'))
## Window Main Loop
window.mainloop()
谁能告诉我如何解决它?
(如果有帮助,我正在使用 MacOs Catilina。)
tkinter.PhotoImage
仅支持 GM, PPM, GIF, PNG
image.Your 图片是 JPEG
,肯定会引发异常。
有一些解决办法,但是直接的方法是把图片扩展名改成ico
然后用iconbitmap()
from PIL import Image
img = Image.open(r"xxx.jpeg") # your jpeg image path
img.save(r"Icon.ico")
这将在您当前的路径中生成一个新的 ico
图像。
那你就可以直接用iconbitmap('Icon.ico')
了
这适用于为 Tkinter 应用程序设置图标
from tkinter import *
window =Tk()
##set title for window
window.title("Tkinter App")
##set window icon
window.iconphoto(False,PhotoImage(file='logo.png'))
window.mainloop()
我正在尝试设置一个 window 图标,这样它就会出现在我正在使用的词典名称旁边。当我 运行 代码时,出现以下问题:
Traceback (most recent call last):
File "/Users/sergioley-languren/Latin_app/windows.py", line 20, in <module>
window.iconphoto(False, tk.PhotoImage(file='/Users/sergioley-languren/home/Latin_app/Logo.jpeg'))
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 4061, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/tkinter/__init__.py", line 4006, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't recognize data in image file "/Users/sergioley-languren/Latin_app/Logo.jpeg"
当我尝试使用 iconbitmap
tkinter 函数将 .jpeg 文件转换为 .ico 图片时,它起作用了,但我得到的是一个空白页面图标。下面的代码是有问题的代码:
### Imports
import tkinter as tk
from tkinter import *
from pathlib import Path
##Extra Code
home = print(Path.home())
### Application screen code
window = Tk()
##Frame
frame1 = Frame(window)
frame1.pack()
## Window Title
window.title("Latin Unit 1 Dictionary - Based on Orion Academy Latin I , Unit 1")
window.geometry('1110x950')
#App Icon
window.iconphoto(False, tk.PhotoImage(file='/Users/sergioley-languren/home/Latin_app/Logo.jpeg'))
## Window Main Loop
window.mainloop()
谁能告诉我如何解决它? (如果有帮助,我正在使用 MacOs Catilina。)
tkinter.PhotoImage
仅支持 GM, PPM, GIF, PNG
image.Your 图片是 JPEG
,肯定会引发异常。
有一些解决办法,但是直接的方法是把图片扩展名改成ico
然后用iconbitmap()
from PIL import Image
img = Image.open(r"xxx.jpeg") # your jpeg image path
img.save(r"Icon.ico")
这将在您当前的路径中生成一个新的 ico
图像。
那你就可以直接用iconbitmap('Icon.ico')
了
这适用于为 Tkinter 应用程序设置图标
from tkinter import *
window =Tk()
##set title for window
window.title("Tkinter App")
##set window icon
window.iconphoto(False,PhotoImage(file='logo.png'))
window.mainloop()