Kivy is a platform independent GUI tool in Python. As it can be run on Android, IOS, linux and Windows etc. It is basically used to develop the Android application, but it does not mean that it can not be used on Desktops applications.
???????? Kivy Tutorial – Learn Kivy with Examples.
Switch widget:
The Switch widget is active or inactive, as a mechanical light switch. The user can swipe to the left/right to activate/deactivate it. The value represented by the switch is either True or False. That is the switch can be either in On position or Off position.
To work with Switch you must have to import:
from kivy.uix.switch import Switch
Note: If you want to control the state with a single touch instead of a swipe, use the ToggleButton instead.
Basic Approach:
1) import kivy
2) import kivyApp
3) import Switch
4) import Gridlayout
5) import Label
6) Set minimum version(optional)
7) create Layout class(In this you create a switch)
8) create App class
9) return Layout/widget/Class(according to requirement)
10) Run an instance of the class
Implementation of the Approach:
Python3
import kivy
from kivy.app import App
kivy.require( '1.9.0' )
from kivy.uix.switch import Switch
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
class SimpleSwitch(GridLayout):
def __init__( self , * * kwargs):
super (SimpleSwitch, self ).__init__( * * kwargs)
self .cols = 2
self .add_widget(Label(text = "Switch" ))
self .settings_sample = Switch(active = False )
self .add_widget( self .settings_sample)
class SwitchApp(App):
def build( self ):
return SimpleSwitch()
if __name__ = = '__main__' :
SwitchApp().run()
|
Output:


Attaching Callback to Switch:
- A switch can be attached with a call back to retrieve the value of the switch.
- The state transition of a switch is from either ON to OFF or OFF to ON.
- When switch makes any transition the callback is triggered and new state can be retrieved i.e came and any other action can be taken based on the state.
- By default, the representation of the widget is static. The minimum size required is 83*32 pixels.
- The entire widget is active, not just the part with graphics. As long as you swipe over the widget’s bounding box, it will work.
Now For attaching a callback you have to define a callback function and bind it with the switch. So below is the code how to Attach a callback:
Python3
import kivy
from kivy.app import App
kivy.require( '1.9.0' )
from kivy.uix.switch import Switch
from kivy.uix.gridlayout import GridLayout
from kivy.uix.label import Label
class SimpleSwitch(GridLayout):
def __init__( self , * * kwargs):
super (SimpleSwitch, self ).__init__( * * kwargs)
self .cols = 2
self .add_widget(Label(text = "Switch" ))
self .settings_sample = Switch(active = False )
self .add_widget( self .settings_sample)
self .settings_sample.bind(active = switch_callback)
def switch_callback(switchObject, switchValue):
if (switchValue):
print ( 'Switch is ON:):):)' )
else :
print ( 'Switch is OFF:(:(:(' )
class SwitchApp(App):
def build( self ):
return SimpleSwitch()
if __name__ = = '__main__' :
SwitchApp().run()
|
Output:

Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!