【发布时间】:2022-11-14 07:39:33
【问题描述】:
标签: python-3.x tkinter
标签: python-3.x tkinter
要更改图标,您应该使用iconbitmap 或wm_iconbitmap 我的印象是您希望将其更改为的文件必须是 ico 文件。
import tkinter as tk
root = tk.Tk()
root.iconbitmap("myIcon.ico")
【讨论】:
如果你没有图标.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,这将应用于所有未来创建的顶层 出色地。图像中的数据在 调用。
不同操作系统下的详细实现:
- 在 Windows 上,图像被打包成一个 Windows 图标结构。这个 将覆盖指定给 wm iconbitmap 的 ico,反之亦然。
- 在 X 上,图像被排列到 _NET_WM_ICON X 属性中,其中 大多数现代窗口管理器都支持。可能存在 wm 图标位图 同时。建议使用不超过2个图标, 首先放置较大的图标。
- 在 Macintosh 上,这会将 Dock 图标设置为指定的图像。
Supported formats 自 TkVersion 8.6 的
tk.PhotoImage(filepath):
- PNG
- GIF
- PPM/PGM
因此,可以使用
.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:UsersUserPycharmProjectsHelloWorldmy.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:Python32DLLspy.ico')
root.mainloop()
这将起作用
【讨论】:
from tkinter import *
root = Tk()
root.title('how to put icon ?')
root.iconbitmap('C:UsersHPDesktoppy.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()
【讨论】: