Python | Create checkbox using .kv file

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 featuers, 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:

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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 manupulation on window impoet 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()
  
# Rum the app
root = SampleApp()
root.run()

chevron_right


sample.kv file of the code.

filter_none

edit
close

play_arrow

link
brightness_4
code

#.kv file of main.py file
  
#: import CheckBox kivy.uix.checkbox
  
# giving colour to lable
<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 orentation
        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

chevron_right


Output:

Video output:



My Personal Notes arrow_drop_up

Competative Programmer

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.