Skip to content
Related Articles

Related Articles

On/Off Toggle Button Switch in Tkinter

Improve Article
Save Article
  • Difficulty Level : Basic
  • Last Updated : 19 Oct, 2021
Improve Article
Save Article

Prerequisite: Tkinter

Python offers multiple options for developing a GUI (Graphical User Interface). Out of all the GUI methods, Tkinter is the most commonly used method. It is a standard Python interface to the Tk GUI toolkit shipped with Python. Python with Tkinter is the fastest and easiest way to create GUI applications.

In this article, we will learn how to make an on/off switch using Tkinter.


  • Make a global variable named as is_on; the default value is True, which indicates the switch is ON.
  • Make two Image Objects; one object has “on image” and another one has “off image”.
  • Create a button that has “on image” as default; set the border width to be zero.
  • Make a function that will change the button image, using the config() method.
  • The function will check, whether the is_on value is True or False

Image link:

Below is the Implementation:


# Import Module
from tkinter import *
# Create Object
root = Tk()
# Add Title
root.title('On/Off Switch!')
# Add Geometry
# Keep track of the button state on/off
#global is_on
is_on = True
# Create Label
my_label = Label(root,
    text = "The Switch Is On!",
    fg = "green",
    font = ("Helvetica", 32))
my_label.pack(pady = 20)
# Define our switch function
def switch():
    global is_on
    # Determine is on or off
    if is_on:
        on_button.config(image = off)
        my_label.config(text = "The Switch is Off",
                        fg = "grey")
        is_on = False
        on_button.config(image = on)
        my_label.config(text = "The Switch is On", fg = "green")
        is_on = True
# Define Our Images
on = PhotoImage(file = "on.png")
off = PhotoImage(file = "off.png")
# Create A Button
on_button = Button(root, image = on, bd = 0,
                   command = switch)
on_button.pack(pady = 50)
# Execute Tkinter


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!