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