Como definir o ícone da janela em Tkinter
-
root.iconbitmap
para definir o Ícone da Janela -
tk.call('wm', 'Iconphoto', )
Método para definir o ícone da janela -
root.iconphoto
para Definir Ícone da Janela
Vamos introduzir métodos para definir o ícone da janela no Tkinter.
- ‘root.iconbitmap’ para definir o ícone da janela
root.tk.call()
para definir o ícone da janelaroot.iconphoto
para definir o ícone da janela
root.iconbitmap
para definir o Ícone da Janela
import tkinter as tk
root = tk.Tk()
root.iconbitmap("/path/to/ico/icon.ico")
root.mainloop()
iconbitmap(bitmap)
define o ícone do widget window/frame como bitmap
. O bitmap
deve ser do tipo ico
, mas não png
ou jpg
, caso contrário, a imagem não será exibida como o ícone.
A imagem acima mostra quando o tipo ico
é utilizado em iconbitmap
.
Se você utilizar o tipo png
, o ícone mostrado na janela ficará em branco,
tk.call('wm', 'Iconphoto', )
Método para definir o ícone da janela
import tkinter as tk
root = tk.Tk()
root.tk.call("wm", "iconphoto", root._w, tk.PhotoImage(file="/path/to/ico/icon.png"))
root.mainloop()
O método tk.call
é a interface Tkinter para o interpretador tcl
. Nós poderíamos executar um comando tcl
utilizando este método call
.
É útil quando o Tkinter wrapper não poderia ter acesso a algumas funcionalidades tcl/tk
.
wm
se comunica com o gerenciador de janelas.
Precisamos definir a imagem como tk.PhotoImage
mas não a imagem em si, caso contrário teremos um erro _tkinter.TclError
.
root.iconphoto
para Definir Ícone da Janela
Outro método para definir o ícone da janela é utilizar root.iconphoto()
método que aceita mais tipos de imagens como em tk.call('wm', 'iconphoto', )
.
import tkinter as tk
root = tk.Tk()
root.iconphoto(False, tk.PhotoImage(file="/path/to/ico/icon.png"))
root.mainloop()
Aqui, False
significa que esta imagem de ícone se aplica apenas a esta janela específica, mas não a futuros toplevels
criados.
Se True
for utilizado, a imagem de ícone é aplicada a todos os futuros toplevels
criados também.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook