要更改图标,您应该使用iconbitmap
或wm_iconbitmap
函数。我认为您想更改的文件必须是ico文件。
import tkinter as tk
root = tk.Tk()
root.iconbitmap("myIcon.ico")
ImageTk.PhotoImage(ico)
和 wm_iconphoto
。
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
ico = Image.open('test.jpg')
photo = ImageTk.PhotoImage(ico)
root.wm_iconphoto(False, photo)
root.mainloop()
注意:
如果默认为True,则此设置也将应用于所有未来创建的toplevel。图像中的数据是在调用时拍摄的快照。
不同操作系统下的详细实现:
TkVersion 8.6的tk.PhotoImage(filepath)
支持的格式:
因此,代码可以简化为使用.png
文件:
import tkinter as tk
root = tk.Tk()
photo = tk.PhotoImage(file = 'test.png')
root.wm_iconphoto(False, photo)
root.mainloop()
from tkinter import *
app = Tk()
app.title('Tk')
app.geometry('')
app.iconbitmap(r'C:\Users\User\PycharmProjects\HelloWorld\my.ico')
app.mainloop()
pyinstaller --onefile -w -F --add-binary "my.ico;." my.py
这里有另一种解决方案,不需要强制使用ico文件:
from tkinter import *
root = Tk()
root.geometry("200x200")
root.iconphoto(False, tk.PhotoImage(file='C:\\Users\\Pc\\Desktop\\icon.png'))
root.mainloop()
您的代码或文件夹中不能有favicon.ico。请使用完整路径名,例如:
from tkinter import *
root = Tk()
root.iconbitmap(r'c:\Python32\DLLs\py.ico')
root.mainloop()
这将起作用
from tkinter import *
root = Tk()
root.title('how to put icon ?')
root.iconbitmap('C:\Users\HP\Desktop\py.ico')
root.mainloop()
这里有另一种通过Tcl命令的方法:
import tkinter as tk
window=tk.Tk()
window.tk.call('wm', 'iconphoto', win._w, tk.PhotoImage(file=r"my_icon.png"))
window.mainloop()