python-3.x 如何替换Tkinter应用程序中的图标?

wlp8pajw  于 2023-02-06  发布在  Python
关注(0)|答案(8)|浏览(216)

我在Windows 10上使用Python 3.5.0,并希望替换此:

dw1jzc5e

dw1jzc5e1#

要更改图标,您应该使用iconbitmapwm_iconbitmap,我的印象是,您希望将其更改为的文件必须是一个ico文件。

import tkinter as tk

root = tk.Tk()
root.iconbitmap("myIcon.ico")
agxfikkp

agxfikkp2#

如果您没有 * icon. 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图标。

See more
TkVersion 8.6tk.PhotoImage(filepath)支持的格式:

  • 巴布亚新几内亚
  • 动图
  • PPM/PGM

因此,可以使用.png文件将代码简化为:

import tkinter as tk 
root = tk.Tk() 
photo = tk.PhotoImage(file = 'test.png')
root.wm_iconphoto(False, photo)
root.mainloop()
gijlo24d

gijlo24d3#

tkinter的输入

from tkinter import *

app = Tk()
app.title('Tk')
app.geometry('')

app.iconbitmap(r'C:\Users\User\PycharmProjects\HelloWorld\my.ico')
app.mainloop()

pyinstaller的输入

pyinstaller --onefile -w -F --add-binary "my.ico;." my.py
6tdlim6h

6tdlim6h4#

这里是另一个解决方案,它不强迫你使用ico文件:

from tkinter import *

root = Tk()
root.geometry("200x200")
root.iconphoto(False, tk.PhotoImage(file='C:\\Users\\Pc\\Desktop\\icon.png'))
root.mainloop()
rqenqsqc

rqenqsqc5#

你不能把favicon.ico和你的代码放在同一个目录或者你的文件夹里。输入完整的路径名。例如:

from tkinter import *
root = Tk()

root.iconbitmap(r'c:\Python32\DLLs\py.ico')
root.mainloop()

这会有用的

tcbh2hod

tcbh2hod6#

from tkinter import *

root = Tk()

root.title('how to put icon ?')

root.iconbitmap('C:\Users\HP\Desktop\py.ico')
   
root.mainloop()
okxuctiv

okxuctiv7#

下面是通过Tcl命令的另一种方法:

import tkinter as tk

window=tk.Tk()
window.tk.call('wm', 'iconphoto', win._w, tk.PhotoImage(file=r"my_icon.png"))
window.mainloop()
uplii1fm

uplii1fm8#

如果您正在使用CustomTkinter:

app.wm_iconbitmap('yt.ico')

CustomTkinter documentation

相关问题