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.
Checkbox widget:
CheckBox is a specific two-state button that can be either checked or unchecked.
To work with the Checkbox you first have to import Checkbox from the module which consists all features, functions of the checkbox i.e.
from kivy.uix.checkbox import CheckBox
Basic Approach to follow while creating Checkbox using .kv file : 1) import kivy 2) import kivyApp 3) import BoxLayout 4) import Checkbox 5) set minimum version(optional) 6) Extend the container class 7) set up .kv file : 9) Return layout 10) Run an instance of the class
Now the program of How to create Checkbox in Kivy using .kv file:
Python3
# main.py file # program for creating checkbox using .kv in kivy. # import kivy module import kivy # set require version kivy.require( "1.9.0" ) # base Class of your App inherits from the App class. # app:always refers to the instance of your application from kivy.app import App from kivy.uix.boxlayout import BoxLayout ## not necessary while using .kv file from kivy.uix.checkbox import CheckBox # To do some manipulation on window import window from kivy.core.window import Window # Container class for the app's widgets class SampBoxLayout(BoxLayout): # Callback for the checkbox def checkbox_click( self , instance, value): if value is True : print ( "Checkbox Checked" ) else : print ( "Checkbox Unchecked" ) # App derived from App class class SampleApp(App): # build is a method of Kivy's App class used # to place widgets onto the GUI. def build( self ): # setting up window background color Window.clearcolor = ( 0 , 0 , . 30 , . 60 ) return SampBoxLayout() # Run the app root = SampleApp() root.run() |
sample.kv file of the code.
Python3
#.kv file of main.py file #: import CheckBox kivy.uix.checkbox # giving colour to label <CustLabel@Label>: color: . 761 , . 190 , . 810 , 1 <SampBoxLayout>: orientation: "vertical" padding: 10 spacing: 10 CustLabel: text: "Gender" size_hint_x: 1 font_size: 20 # creating box layout BoxLayout: # assigning orientation orientation: "horizontal" height: 20 BoxLayout: orientation: "horizontal" size_hint_x: . 22 # label creation CustLabel: text: "Male" size_hint_x: . 80 font_size: 30 CheckBox: color:. 294 , . 761 , . 623 on_active: root.checkbox_click( self , self .active) size_hint_x: . 20 CustLabel: text: "Female" size_hint_x: . 80 font_size: 20 CheckBox: on_active: root.checkbox_click( self , self .active) size_hint_x: . 20 CustLabel: text: "Other" size_hint_x: . 80 font_size: 10 CheckBox: on_active: root.checkbox_click( self , self .active) size_hint_x: . 20 |
Output:
Video output: