Python | Archivo Kivy .kv

Como cuando escribimos la aplicación en Python kivy , escribir todas las cosas en el mismo código hace un lío en el código y es difícil de entender eso por alguien más. Además, escribir un código grande dificulta mantener la construcción del árbol de widgets y explicitar la declaración de enlaces.
El lenguaje KV nos permite crear nuestro propio árbol de widgets de forma declarativa y vincular las propiedades del widget entre sí o con las devoluciones de llamada de forma natural.
 

????????? Tutorial de Kivy: aprenda Kivy con ejemplos .

Cómo cargar el archivo kv : hay 2 formas de cargar el archivo .kv en el código o la aplicación

  • Por método de convención de nombres:
    mientras escribimos el código, crearemos la clase App. Para este método, el nombre del archivo y la clase de aplicación es el mismo y guarde el archivo kv con appclassname.kv. 
    Kivy busca un archivo Kv con el mismo nombre que su clase de aplicación en minúsculas, menos «Aplicación» si termina con ‘Aplicación’, por ejemplo: 
classnameApp ---> classname.kv

Si este archivo define un widget raíz, se adjuntará al atributo raíz de la aplicación y se utilizará como base del árbol de widgets de la aplicación.
El código de muestra sobre cómo usar el archivo .kv en kivy se proporciona a continuación: 

Python3

# code how to use .kv file in kivy
 
# import kivy module
import kivy
 
# base Class of your App inherits from the App class.
# app:always refers to the instance of your application
from kivy.app import App
 
# this restrict the kivy version i.e
# below this kivy version you cannot
# use the app or software
# not compulsory to write it
kivy.require('1.9.1')
 
# define the App class
# and just pass rest write on kvfile
# not necessary to pass
# can also define function in it
class kvfileApp(App):
    pass
 
kv = kvfileApp()
kv.run()
  • El código del archivo .kv se guarda con el mismo nombre que la clase de la aplicación. 

Python3

Label:
    text:
        ('[b]Hello[/b] [color = ff0099]World[/color]\n'
        '[color = ff0099]Hello[/color] [b]World[/b]\n'
        '[b]Hello[/b] [color = ff0099]World:):)[/color]')
    markup: True
    font_size: '64pt'

Producción: 

  • Método Builder 
    : para usar este método, primero debe importar Builder escribiendo 
from kivy.lang import builder

Ahora, con el constructor, puede cargar directamente todo el archivo como una string o como un archivo. Al hacer esto para cargar el archivo .kv como un archivo: 

Builder.load_file('.kv/file/path')

o, para cargar, el archivo kv como una string: 

Builder.load_string(kv_string)

Python3

# code to use the .kv file as a string in the main file
# code how to use .kv file in kivy
 
# import kivy module
import kivy
 
# base Class of your App inherits from the App class.
# app:always refers to the instance of your application
from kivy.app import App
 
# it is to import Builder
from kivy.lang import Builder
 
# this restrict the kivy version i.e
# below this kivy version you cannot use the app or software
# not compulsory to write it
kivy.require('1.9.1')
 
# building kv file as string
kvfile = Builder.load_string("""
Label:
    text:
        ('[b]Hello[/b] [color = ff0099]World[/color]\\n'
        '[color = ff0099]Hello[/color] [b]World[/b]\\n'
        '[b]Hello[/b] [color = ff0099]World:):)[/color]')
    markup: True
    font_size: '64pt'
""")
 
# define the App class
# and just pass rest write on kvfile
# not necessary to pass
# can also define function in it
class kvfileApp(App):
    def build(self):
        return kvfile
 
kv = kvfileApp()
kv.run()

Producción: 

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 *