EDUCBA Logo

EDUCBA

MENUMENU
  • Explore
    • EDUCBA Pro
    • PRO Bundles
    • Featured Skills
    • New & Trending
    • Fresh Entries
    • Finance
    • Data Science
    • Programming and Dev
    • Excel
    • Marketing
    • HR
    • PDP
    • VFX and Design
    • Project Management
    • Exam Prep
    • All Courses
  • Blog
  • Enterprise
  • Free Courses
  • Log in
  • Sign Up
Home Software Development Software Development Tutorials Tkinter Tutorial Tkinter Icon
 

Tkinter Icon

Rahul Dubey
Article byRahul Dubey
EDUCBA
Reviewed byRavi Rathore

Updated June 23, 2023

Tkinter Icon

 

 

Introduction to Tkinter Icon

Python encompasses various libraries that serve different purposes. Among them is Tkinter, a library employed in Python for constructing Graphical User Interfaces (GUIs). Tkinter is the easiest and fastest way to create Graphical User Interfaces in Python, and it also provides an object-oriented interface to the Tk GUI toolkit, which is very powerful. Tkinter icon is a way to put up our own customized icon on the different windows created by Tkinter. It is one of the most important parts of creating a Graphical User Interface. This article represents the different methods of the Tkinter icon and how it can be used in the different aspects of a GUI.

Watch our Demo Courses and Videos

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more.

Syntax:

  • Iconphoto() Method
iconphoto(self, default = False, *args)
  • Iconbitmap Method
program.iconbitmap('<image path>')
  • call() Method
program.tk.call('wm','iconphoto',program._w,tk.PhotoImage(file='<image path>'))

Methods of Tkinter Icon

Lets us discuss methods with Examples and their working:

 1. Iconphoto() Method

This method places a title bar icon on any top-level window. For setting up an image as the icon, the image needs to be an object of PhotoImage class.

Image used in example [i] & example [ii]-

tkinter Icon 1

Image used in example [iii]-

tkinter Icon 2

 [i] Basic Iconphoto() Usage Example

This is a basic example of creating a top-level window and putting up an image as its icon.

Code:

# Firstly import Tkinter Module 
from tkinter import * 
from tkinter.ttk import *
import tkinter as tk
# Then create a program Tkinter window
program = Tk()   
# Photoimage class is created
# And Image should be in the same folder where there is script saved 
p1 = PhotoImage(file = 'C:/Users/afu/Desktop/tk/Git.png')   
# Icon set for program window
program.iconphoto(False, p1)   
# Button creation
b = Button(program, text = 'Press Me!') 
b.pack(side = TOP) 
program.title('iconphoto() method')
mainloop() 

Output:

 tkinter Icon 3

tkinter Icon 4

[ii] Advance Iconphoto() Usage Example

This example is a more advanced version of the window created in the last example. Here the window contains buttons that have a background color and also an active background color. Along with the buttons, there are colored labels also. The method for setting up an icon is iconphoto, which has been used the same way as in the previous example.

Code:

# Firstly import Tkinter Module 
from tkinter import * 
from tkinter.ttk import *
from tkinter import Button
import tkinter as tk
# Then create a program Tkinter window
program = Tk()   
# Photoimage class is created
# And Image should be in the same folder where there is script saved 
p1 = PhotoImage(file = 'C:/Users/afu/Desktop/tk/Git.png')   
# Icon set for program window
program.iconphoto(False, p1)   
# Button creation
b = Button(program, text = 'Press Me!') 
b.pack(side = TOP) 
class Icon(Frame):
 def __init__(code):
        super().__init__()
        code.UI()
 def UI(code):    
        framedesign = Frame(code, borderwidth=10)
        framedesign.pack()
        button1 = Button(framedesign, activebackground = 'SlateGray3',  text='Change my color', bg = 'red')
        button1.pack(padx=5, side=LEFT)        
        label1 = Label(framedesign, background='SlateGray3', width = 15)
        label1.pack(padx=5, side=LEFT)
        button2 = Button(framedesign, text='Mine too',background='blue', activebackground = 'SlateGray3')
        button2.pack(side=LEFT)        
        label2 = Label(framedesign, background='SlateGray4',width = 15)
        label2.pack(side=LEFT)
        button3 = Button(framedesign, text='I am Green', background='crimson', activebackground = 'DarkSeaGreen3' )
        button3.pack(side=RIGHT, padx=5)
        label3 = Label(framedesign, background='DarkSeaGreen3',width = 15)
        label3.pack(side=RIGHT, padx=5)        
        button4 = Button(framedesign, text='Me too', background='pink',activebackground = 'DarkSeaGreen4')
        button4.pack(side=RIGHT)
        label4 = Label(framedesign, background='DarkSeaGreen4', width = 15)
        label4.pack(side=RIGHT)
        code.master.title("Advance iconphoto() method'")
        code.pack(fill=BOTH)
        code.pack()
app = Icon()
program.mainloop()

Output:

tkinter Icon 6

advance icon photo 

[iii] Advance Iconphoto() usage example with texts using multiple fonts

This example represents a way to create a window that sets up an image as its icon using an icon photo, and it also represents a way to set up different fonts in a window.

Code:

import tkinter as tk
from tkinter import Tk
from tkinter import BOTH
from tkinter.ttk import Frame
from tkinter.ttk import Label , Style
from tkinter.ttk import Notebook
program = tk.Tk()
program.iconphoto(False, tk.PhotoImage(file='C:/Users/afu/Desktop/tk/Folder.png'))
from tkinter.font import Font
class Icon(Frame):
    def __init__(code):
        super().__init__()
        code.UI()
    def UI(code):
        code.master.title("program.iconphoto method example")
        code.pack(fill=BOTH, expand=True)
        text = "This example if for creating an icon "
        text1 = 'using program.iconphoto'
        text2 = 'Hope you like it'
        thefont = Font(family="Arial", size=16)
        label1 = Label(code, text=text, font=thefont)
        label1.grid(row=0, column=0)
        label2 = Label(code, text=text1, font="Times")
        label2.grid(row=1, column=0)
        label3 = Label(code, text=text2, font=('Courier', '18', 'bold'))
        label3.grid(row=2, column=0)
app = Icon()
program.mainloop()

 Output:

 tkinter Icon 7

tkinter Icon 8

 2. Iconbitmap Method

For using this method, the bitmap image should be an icon type with .ico as its extension.

Image used in Example [i] & Example [ii]-

icon 2

[i] Basic Iconbitmap Usage Example

This is a basic example of creating a window where the icon has been set using iconbitmap. As you can see, the image is of .ico extension, and using an icon-type image in this method is mandatory.

Code:

import tkinter as tk
program = tk.Tk()
program.title('iconbitmap method basic example')
#Setting Icon for window widget
program.iconbitmap('New.ico')
program.mainloop()

Output:

icon 3

iconbitmap method

[ii] Advance Iconbitmap Usage Example with Different Messages on pressing Buttons

This example shows us how to create a window with a bitmap image as its icon and buttons that display messages or ask questions when it is pressed. This example also explains how to make the window more responsive to questions and messages.

Code:

import tkinter as tk
from tkinter import Frame, Tk
from tkinter import Button
from tkinter import LEFT, messagebox
from tkinter import BOTH 
program = tk.Tk()
program.iconbitmap('New.ico')
#Setting Icon for window widget
class Icon(Frame):    
    def __init__(code):
        super().__init__()
        code.UI()
    def UI(code):   
        framedesign = Frame(code, borderwidth=10)
        framedesign.pack()

        def Result():
            tk.messagebox.showinfo( "Info", "Advance iconbitmap usage")
        def End():
             MsgBox = tk.messagebox.askquestion ('End','Have you understood this program',icon = 'warning')
             if MsgBox == 'yes':
                  program.destroy()
             else:
                  tk.messagebox.showinfo('Return','Check our courses on Python on EduCBA')
        def Thanks():
            tk.messagebox.showinfo( "Thanks", "Bbye, All the best for your future")
        button1 = tk.Button(framedesign, text='Know about me', command = Result, activebackground = 'Cyan')
        button1.pack(padx=5,side=LEFT)
        button2 = Button(framedesign, text='Question', width=8, command = End, activebackground = 'Cyan')
        button2.pack(padx=5, side=LEFT)
        button3 = Button(framedesign, text='Thanks', width=5, height=4, command = Thanks, activebackground = 'Cyan')
        button3.pack(side=LEFT)
        code.master.title("Advance iconbitmap usage Example with different text on buttons")
        code.pack(fill=BOTH)
        code.pack()
app = Icon()
program.mainloop()

 Output:

  • When Code is Executed

When code is executed-

  • When “Know about me” Button is Clicked

button is clicked-

  • When “Question” Button is Clicked

Question” button is clicked-

  • When “Thanks” Button is Pressed

“Thanks” button is pressed-

  • Window

 window

3. tk.call() Method

This method is an interface of Tkinter to the tcl interpreter. Image used in example [i] & example [ii]-

tk.call() method

[i] Basic tk.call() Usage Example

This example represents the use of tk.call method.

Code:

import tkinter as tk
program = tk.Tk()
program.title('tk.call() method basic example')
program.tk.call('wm', 'iconphoto', program._w, tk.PhotoImage(file='C:/Users/afu/Desktop/tk/dino.png'))
program.mainloop()

Output:

 method 3

tk.call() method 1

 [ii] Advance tk.call() Usage Example

This example represents a way of making the window used in the last example more advanced and using tk.call to set up its title icon. This example sets up an image as the window’s icon and explains how to put up labels with different background colors, width, height, padding.

Code:

import tkinter as tk
from tkinter import Tk
from tkinter import Frame 
from tkinter import Label
from tkinter import SUNKEN, LEFT 
from tkinter import FLAT, BOTH 
from tkinter import RIDGE, RAISED
from tkinter import GROOVE
program = tk.Tk()
program.tk.call('wm', 'iconphoto', program._w, tk.PhotoImage(file='C:/Users/afu/Desktop/tk/dino.png'))
class Icon(Frame):
       def __init__(code):
          super().__init__()
          code.UI()
       def UI(code):
          code.master.title("Advance tk.call() usage example")
          code.pack(fill=BOTH)
          framedesign = Frame(code, borderwidth=10)
          framedesign.pack()
          label1 = Label(framedesign, width=20,  bg='#02FAFE', height=15, relief=GROOVE)
          label1.pack(padx=5, side=LEFT)
          label2 = Label(framedesign, bd=4,  bg='#16DFE2', width=10,height=15, relief=GROOVE)            
          label2.pack(padx = 5, side=LEFT)
          label3 = Label(framedesign, bd=4, bg='#28A6A8', width=20,height=15, relief=FLAT)            
          label3.pack(padx=5,side=LEFT)
          label4 = Label(framedesign, bd=2,  bg='#2A7778', width=10, height=15, relief=RAISED)       
          label4.pack(padx = 5, side=LEFT)
          label5 = Label(framedesign, bd=3,  bg='#173232', width=20, height=15, relief=RIDGE)            
          label5.pack(padx=5,side=LEFT)
          code.pack()
app = Icon()
program.mainloop()

Output:

method 3-1

Conclusion

On the basis of the above example, an individual can understand how to set up images as a window’s icon. The different methods and examples describe the process of setting up images as an icon in different ways and also briefly introduce the different aspects of creating a GUI using Tkinter.

Recommended Articles

We hope that this EDUCBA information on “Tkinter Icon” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

  1. Tkinter Combobox
  2. Tkinter Font
  3. Tkinter Colors
  4. Python Tkinter Entry

Primary Sidebar

Footer

Follow us!
  • EDUCBA FacebookEDUCBA TwitterEDUCBA LinkedINEDUCBA Instagram
  • EDUCBA YoutubeEDUCBA CourseraEDUCBA Udemy
APPS
EDUCBA Android AppEDUCBA iOS App
Blog
  • Blog
  • Free Tutorials
  • About us
  • Contact us
  • Log in
Courses
  • Enterprise Solutions
  • Free Courses
  • Explore Programs
  • All Courses
  • All in One Bundles
  • Sign up
Email
  • [email protected]

ISO 10004:2018 & ISO 9001:2015 Certified

© 2025 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more

🚀 Limited Time Offer! - ENROLL NOW