Cómo crear una casilla de verificación en Kivymd-Python

En este artículo, veremos cómo agregar la casilla de verificación en nuestra aplicación usando KivyMD en Python. KivyMD es una colección de widgets compatibles con Material Design que se pueden usar con Kivy.

Instalación:

Para instalar estos módulos, escriba el siguiente comando en la terminal. 

pip instalar kivy

pip instalar kivymd

Discutiremos cómo crear casillas de verificación cuadradas y circulares en este artículo.

Casilla de verificación cuadrada

Paso 1: importe los paquetes necesarios.

Para esto, necesitaremos Builder de kivy y MDApp del paquete kivymd.

Nota: No importaremos MDFloatLayout porque estamos diseñando nuestra pantalla usando el lenguaje kv. 

Python3

# import packages
from kivy.lang import Builder
from kivymd.app import MDApp

Paso 2: maquetación del diseño.

Estaremos diseñando nuestro diseño usando lenguaje kv. Primero, declararemos la clase de widget de diseño llamada MDFloatLayout y luego la clase de widget secundaria llamada MDCheckbox. No pasaremos ningún parámetro a MDFloatLayout y lo mantendremos predeterminado. Para MDSwitch, pasaremos su ubicación en forma de coordenadas x, y. center_x se usa para la coordenada x mientras que center_y se usa para la coordenada y. Y también pasamos el tamaño de la casilla de verificación usando el método de tamaño y pasamos los valores en dp. También usaremos size_hint para reducir el área efectiva al tocar la casilla de verificación y pasar Ninguno en los parámetros.

Python3

# writing kv lang
KV = '''
# defining layout
MDFloatLayout:
    # this will create check Box
    MDCheckbox:
          
        # defining size to check box
        size: "48dp", "48dp"
        size_hint: None,None
          
        # giving location
        pos_hint: {'center_x': .5, 'center_y': .5}
          
'''

Paso 3: Escribiendo el programa principal.

Para ejecutar el archivo kv, usaremos load_string() y le pasaremos nuestro idioma kv. Por lo tanto, definiremos una función para este nombre build() y, de guardia, cargará kv y devolverá la pantalla. run() se usa para ejecutar la clase y no requiere ningún parámetro.

Python3

# app class
class Test(MDApp):
    def build(self):
          # this will load kv lang
        screen = Builder.load_string(KV)
          
        # returning screen
        return screen
  
#running app
Test().run()

Agregando los pasos anteriores:

Python3

# importing builder
from kivy.lang import Builder
  
# importing MDApp
from kivymd.app import MDApp
  
# writing kv lang
KV = '''
# defining layout
MDFloatLayout:
    # this will create check Box
    MDCheckbox:
          
        # defining size to check box
        size: "48dp", "48dp"
        size_hint: None,None
          
        # giving location
        pos_hint: {'center_x': .5, 'center_y': .5}
          
'''
  
# app class
class Test(MDApp):
    def build(self):
        
          # this will load kv lang
        screen = Builder.load_string(KV)
          
        # returning screen
        return screen
  
# running app
Test().run()

Producción:

Casilla circular

Para este ejemplo, necesitamos hacer algunos cambios en nuestro archivo kv para obtener una casilla de verificación circular y el otro procedimiento y funciones seguirán siendo los mismos que se usaron en el ejemplo anterior. Para que la casilla de verificación sea circular, debemos pasar el grupo en nuestro archivo kv.

Sintaxis:

MDF FloatLayout:

MDCheckBox:

grupo: ‘grupo’

Implementación:

Python3

# importing builder
from kivy.lang import Builder
  
# importing MDApp
from kivymd.app import MDApp
  
# writing kv lang
KV = '''
# defining layout
MDFloatLayout:
    # this will make a circular check box
    MDCheckbox:
        group: 'group'
          
        # defining size of check box
        size_hint: None,None
        size: "48dp", "48dp"
          
        # giving location
        pos_hint: {'center_x': .5, 'center_y': .5}
          
'''
  
# app class
class Test(MDApp):
    def build(self):
        
          # this will load kv lang
        screen = Builder.load_string(KV)
          
        # returning screen
        return screen
  
# running app
Test().run()

Producción:

Publicación traducida automáticamente

Artículo escrito por vinamrayadav y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *