Como definir o ícone da janela em Tkinter

  1. root.iconbitmap para definir o Ícone da Janela
  2. tk.call('wm', 'iconphoto', ) Método para definir o ícone da janela
  3. root.iconphoto para Definir Ícone da Janela

Vamos introduzir métodos para definir o ícone da janela no Tkinter.

  1. ‘root.iconbitmap’ para definir o ícone da janela
  2. root.tk.call() para definir o ícone da janela
  3. root.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.

Ícone da janela Tkinter set

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,

Ícone da janela do Tkinter set com png

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.

Artigo relacionado - Tkinter Icon