Wednesday, July 3, 2024
HomeLanguagesPythonPython | Create checkbox using .kv file

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.

Kivy Tutorial – Learn Kivy with Examples.

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: 

 

Shaida Kate Naidoo
am passionate about learning the latest technologies available to developers in either a Front End or Back End capacity. I enjoy creating applications that are well designed and responsive, in addition to being user friendly. I thrive in fast paced environments. With a diverse educational and work experience background, I excel at collaborating with teams both local and international. A versatile developer with interests in Software Development and Software Engineering. I consider myself to be adaptable and a self motivated learner. I am interested in new programming technologies, and continuous self improvement.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments