Carga del interface

Nota importante:

El ejemplo dado no funciona, pero dentro tiene el ejemplo oficial de Kivy container, este si funciona y se ve perfectamente lo que queremos explicar.

Carga automática

Si queremos que nuestra app cargue automáticamente nuestro fichero kv, debemos de seguir la siguiente regla:

  • Supongamos que nuestra app se llama EjemploApp (recordemos que debe acabar con el sufijo -App).
  • El fichero kv debe de llamarse ejemplo.kv, es decir, todo minúscula, sin sufijo -App y con extensión kv
  • El fichero python puede llamarse como se quiera, por ejemplo fichero.py, es absolutamente indiferente en esto.

Carga con builder

Kivy posee un módulo para cargar la vista llamado Builder. Este es el que hace la carga automática si seguimos el convenio anterior, pero sino, permite dos posibilidades para cargar una vista: desde un fichero o desde un string.

Para usar el módulo primero hay que importar con

from kivy.lang import Builder

Carga desde fichero

Para cargar un fichero kv con el nombre que nos plazca, lo que debemos es de invocar la función load_file. Por ejemplo, si mi fichero kv se llama mi_pantalla.kv haría lo siguiente

pantalla = Builder.load_file('mi_pantalla.kv')

class MainApp(App):

    def build(self):
        return pantalla

Cargar desde string

Si en vez de usar un fichero kv, queremos definir su contenido directamente en un string, podemos invocar esa pantalla con la función load_string

pantalla = Builder.load_string('''
<Label>:
    text: 'Pantalla generada desde string'
''')

class MainApp(App):

    def build(self):
        return pantalla

results matching ""

    No results matching ""