método iconphoto() en Tkinter | Python

El método iconphoto() se utiliza para configurar el icono de la barra de título de cualquier ventana tkinter/toplevel. Pero para establecer cualquier imagen como icono de la barra de título, la imagen debe ser el objeto de la clase PhotoImage .
Sintaxis: 
 

iconphoto(self, default = False, *args)

Pasos para configurar la imagen del icono – 
 

from tkinter import Tk
master = Tk()

photo = PhotoImage(file = "Any image file")
master.iconphoto(False, photo)

Establezca el icono de la barra de título para esta ventana en función de las imágenes de fotos nombradas pasadas a través de argumentos. Si el valor predeterminado es True , esto también se aplica a todos los niveles superiores creados en el futuro. Los datos de las imágenes se toman como una instantánea en el momento de la invocación. Si las imágenes se modifican posteriormente, esto no se refleja en los iconos de la barra de título. La función también escala los iconos provistos a un tamaño apropiado.
Código #1: Cuando se proporciona PhotoImage. 
 

Python3

# Importing Tkinter module
from tkinter import *
from tkinter.ttk import *
  
# Creating master Tkinter window
master = Tk()
  
# Creating object of photoimage class
# Image should be in the same folder
# in which script is saved
p1 = PhotoImage(file = 'info.png')
  
# Setting icon of master window
master.iconphoto(False, p1)
  
# Creating button
b = Button(master, text = 'Click me !')
b.pack(side = TOP)
  
# Infinite loop can be terminated by
# keyboard or mouse interrupt
# or by any predefined function (destroy())
mainloop()

Producción: 
 

iconphoto() method in Tkinter

Excepción: si proporciona una imagen directamente en lugar del objeto PhotoImage, se mostrará el siguiente error.
Código #2: Cuando no se proporciona el objeto PhotoImage. 
 

Python3

# Importing Tkinter module
from tkinter import *
from tkinter.ttk import *
  
# Creating master Tkinter window
master = Tk()
  
# Setting icon of master window
master.iconphoto(False, 'info.png')
  
# Creating button
b = Button(master, text = 'Click me !')
b.pack(side = TOP)
  
# Infinite loop can be terminated by
# keyboard or mouse interrupt
# or by any predefined function (destroy())
mainloop()

Producción: 
 

Traceback (most recent call last):
  File "C:\Users\Admin\Documents\GUI_python\geeks.py", line 14, in 
    master.iconphoto(False, 'info.png')
  File "C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\tkinter\__init__.py", line 1910, in wm_iconphoto
    self.tk.call('wm', 'iconphoto', self._w, *args)
_tkinter.TclError: can't use "info.png" as iconphoto: not a photo image

Publicación traducida automáticamente

Artículo escrito por sanjeev2552 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *