Como definir o ícone da janela em Tkinter
-
root.iconbitmappara definir o Ícone da Janela -
tk.call('wm', 'Iconphoto', )Método para definir o ícone da janela -
root.iconphotopara 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.iconphotopara 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