Как установить иконку окна в Tkinter
-
root.iconbitmap
для установки иконки окна -
tk.call('wm', 'iconphoto', )
Метод установки иконки окна -
root.iconphoto
для установки иконки окна
Мы познакомим вас с методами установки иконки окна в Tkinter.
root.iconbitmap
для установки иконки окнаroot.tk.call()
для установки иконки окнаroot.iconphoto
для установки иконки окна
root.iconbitmap
для установки иконки окна
import tkinter as tk
root = tk.Tk()
root.iconbitmap('/path/to/ico/icon.ico')
root.mainloop()
iconbitmap(bitmap)
устанавливает иконку виджета окна/кадра в bitmap
. bitmap
должен быть ico
типа, но не png
или jpg
типа, иначе изображение не будет отображаться как иконка.
На изображении выше видно, когда в ICONBITMAP
используется тип ICO
.
Если вы используете тип png
, то иконка, показанная в окне, будет пустой,
tk.call('wm', 'iconphoto', )
Метод установки иконки окна
import tkinter as tk
root = tk.Tk()
root.tk.call('wm', 'iconphoto', root._w, tk.PhotoImage(file='/path/to/ico/icon.png')
root.mainloop()
Метод tk.call
- это интерфейс Tkinter к интерпретатору tcl
. Мы можем запустить команду tcl
, используя этот метод call
.
Это удобно, когда обёртка Tkinter не может иметь доступ к некоторым возможностям tcl/tk
.
wm
общается с оконным менеджером.
Нам нужно установить изображение как tk.PhotoImage
, но не само изображение, иначе мы получим ошибку _tkinter.TclError
.
root.iconphoto
для установки иконки окна
Другой метод установки иконки окна - это использование метода root.iconphoto()
, который принимает больше типов изображений, как в tk.call('wm', 'iconphoto', )
.
import tkinter as tk
root = tk.Tk()
root.iconphoto(False, tk.PhotoImage(file='/path/to/ico/icon.png'))
root.mainloop()
Здесь False
означает, что это изображение иконки применимо только к этому конкретному окну, но не к будущим созданным toplevels
.
Если используется True
, то изображение иконки применяется и ко всем будущим создаваемым toplevels
.