Cómo configurar el icono de la ventana en Tkinter
-
root.iconbitmap
para establecer el icono de la ventana -
tk.call('wm', 'Iconphoto', )
Método para establecer el icono de la ventana -
root.iconphoto
para establecer el icono de la ventana
Introduciremos métodos para establecer el icono de la ventana en Tkinter.
root.iconbitmap
para establecer el icono de la ventanaroot.tk.call()
para fijar el icono de la ventanaroot.iconphoto
para establecer el icono de la ventana
root.iconbitmap
para establecer el icono de la ventana
import tkinter as tk
root = tk.Tk()
root.iconbitmap("/path/to/ico/icon.ico")
root.mainloop()
iconbitmap(bitmap)
pone el icono del widget de ventana/frame en bitmap
. El bitmap
debe ser de tipo ico
, pero no de tipo png
o jpg
, de lo contrario, la imagen no se mostrará como el icono.
La imagen de arriba muestra cuando se usa el tipo ico
en iconbitmap
.
Si utiliza el tipo png
, el icono que se muestra en la ventana estará en blanco,
tk.call('wm', 'Iconphoto', )
Método para establecer el icono de la ventana
import tkinter as tk
root = tk.Tk()
root.tk.call("wm", "iconphoto", root._w, tk.PhotoImage(file="/path/to/ico/icon.png"))
root.mainloop()
El método tk.call
es la interfaz Tkinter para el intérprete tcl
. Podríamos ejecutar un comando tcl
utilizando este método call
.
Es muy útil cuando el wrapper de Tkinter no puede acceder a algunas funciones de tcl/tk
.
El wm
se comunica con el gestor de ventanas.
Necesitamos configurar la imagen como tk.PhotoImage
pero no la imagen en sí misma, de lo contrario tendremos un error _tkinter.TclError
.
root.iconphoto
para establecer el icono de la ventana
Otro método para establecer el icono de la ventana es usar root.iconphoto()
método que acepta más tipos de imágenes como en tk.call('wm', 'iconphoto', )
.
import tkinter as tk
root = tk.Tk()
root.iconphoto(False, tk.PhotoImage(file="/path/to/ico/icon.png"))
root.mainloop()
Aquí, False
significa que esta imagen de icono se aplica sólo a esta ventana específica pero no a las futuras toplevels
creadas.
Si se usa True
, la imagen del icono se aplica a todos los toplevels
creados en el futuro también.
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