Skip to content
Related Articles

Related Articles

On/Off Toggle Button Switch in Tkinter
  • Last Updated : 24 Jan, 2021

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.

Approach:

  • 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:

Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Import Module
from tkinter import *
  
# Create Object
root = Tk()
  
# Add Title
root.title('On/Off Switch!')
  
# Add Geometry
root.geometry("500x300")
  
# 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
      
    # Determin 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
    else:
        
        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
root.mainloop()

chevron_right


Output:


Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :