Python | Crear widget de diseño de caja usando el archivo .kv

Kivy es una herramienta GUI independiente de la plataforma en Python. Como se puede ejecutar en Android, IOS, Linux y Windows, etc. Kivy le brinda la funcionalidad de escribir el código una vez y ejecutarlo en diferentes plataformas. Básicamente se usa para desarrollar la aplicación de Android, pero no significa que no se pueda usar en aplicaciones de escritorio.

Ahora, en este artículo, aprenderemos sobre el uso del widget de diseño de cuadro en kivy usando el .kv archivo y cómo agregarle algunas características como color, tamaño, etc.

👉🏽 Tutorial de Kivy: aprenda Kivy con ejemplos .

BoxLayout:
Kivy ofrece varios diseños para mantener los widgets en los lugares deseados de una aplicación. BoxLayout es un diseño simple pero poderoso que a menudo se usa de forma anidada o de forma sencilla. BoxLayout organiza los widgets de forma vertical, uno encima de otro, o de forma horizontal, uno tras otro. Cuando no proporcione ninguna sugerencia de tamaño, los widgets secundarios dividen el tamaño de su widget principal en partes iguales o en consecuencia.

Enfoque básico a seguir al crear el botón:
1) importar kivy
2) importar kivyApp
3) importar BoxLayout
4) establecer la versión mínima (opcional)
5) Extender la clase
6) configurar el archivo .kv (nombre igual que la Appclass)
7) Volver diseño
8) Ejecutar una instancia de la clase

main.pyarchivo de BoxLayout –

# base Class of your App inherits from the App class. 
# app:always refers to the instance of your application 
from kivy.app import App 
    
# BoxLayout arranges children in a vertical or horizontal box.
# or help to put the childrens at the desired location.
from kivy.uix.boxlayout import BoxLayout
  
###############################################
  
# creating the root widget used in .kv file
class KVBL(BoxLayout):
    '''
        no need to do anything here as
        we are building things in .kv file
    '''
    pass
  
#################################################  
# class in which name .kv file must be named KVBoxLayout.kv. 
class KVBoxLayoutApp(App):  
        
    def build(self):
        # returning the instance of KVBL class
        return KVBL()
  
##################################################
  
# creating the object root for BoxLayoutApp() class  
root = KVBoxLayoutApp() 
    
# run function runs the whole program 
# i.e run() method which calls the 
# target function passed to the constructor. 
root.run() 

KVBoxLayout.kvarchivo de main.pyarchivo

<KVBL>:
# you can change it to BoxLayout but have
# to change everywhere including .py
  
########################################################
      
    # To position widgets next to each other,
    # use a horizontal BoxLayout.
    # To position widgets above/below each other,
    # use a vertical BoxLayout.
  
    # orientation: 'horizontal'
  
    orientation: 'vertical'
      
#########################################################
  
    # defining the buttons in the box layout format
    # and adding colour, size etc to it.
    # you can use accordingly
    Button:
        text: "Btn1"
        background_color: 0, 1, 1, 1
        font_size: 40
          
    Button:
        text: "Btn2"
        background_color: 0, 1, 0, 1
        font_size: 20
          
    Button:
        text: "Btn3"
        background_color: 0, 0, 1, 1
        font_size: 35
          
    Button:
        text: "Btn4"
        background_color: 1, 0, 1, 1
        font_size: 30
          
    Button:
        text: "Btn5"
        background_color: 1, 0, 0, 1
        font_size: 25

Producción:

1) Cuando la orientación establecida es Vertical

2) Cuando la orientación establecida es Horizontal

Referencia:
https://kivy.org/doc/stable/api-kivy.uix.boxlayout.html

Publicación traducida automáticamente

Artículo escrito por YashKhandelwal8 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 *