the iconphoto () method in Tkinter | python

Python Methods and Functions

Syntax :

 iconphoto (self, default = False, * args) 

Steps to set the icon image —

 from tkinter import Tk master = Tk () photo = PhotoImage (file = "Any image file") master.iconphoto (False, photo) 

Set the title icon for this window based on named photo images passed through args . If default — this also applies to all future tops created. The data in the images is received as a snapshot during a call. If the images are subsequently changed, this is not reflected in the header icons. The function also scales the provided icons to the appropriate size.

Code # 1: When PhotoImage is provided.

# Importing a Tkinter Module

from tkinter import * from tkinter.ttk import *

  
# Create the main Tkinter window

master = Tk ()

  
# Create a photo class object
# The image must be in the same p Apk
# where the script is saved

p1 = PhotoImage ( file = 'info.png' )

  
# Setting the main window icon

master.iconphoto ( False , 'info.png' )

 
# Create button

b = Button (master, text = 'Click me!' )

b.pack ( side = TOP)

 
# Infinite loop can be interrupted
# keyboard or mouse interruption
# or any predefined function (destroy () )
mainloop ()

Output:

Exception: if you provide an image directly instead of a PhotoImage then the following error will be displayed.

Code # 2: when no PhotoImage is provided

# Import Tkinter module

from tkinter impo rt * from tkinter.ttk import *

 
# Create the main Tkinter window

master = Tk ()

 
# Customize the main window icon

master.iconphoto ( False , 'info.png' )

  
# Create button

b = Button (master, text = 'Click me!' )

b.pack (side = TOP)

  
# Endless loop can be interrupted
# keyboard or mouse interruption
# or any predefined function (destroy ())
mainloop ()

Exit :

 Traceback (most recent call last): File "C: UsersAdminDocumentsGUI_pythongeeks.py", line 14, in master.iconphoto (False, 'info.png') File "C: UsersAdminAppDataLocalProgramsPythonPython37-32lib kinter  __ 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 




Tutorials