2015-03-29 15 views
9

Mi rendo conto che la risposta breve potrebbe essere "no", ma forse vale la pena ripeterla.È possibile leggere da più di un file .kv nell'app Kivy?

Se sto cercando un'app Kivy con un paio di migliaia di righe, allora sarebbe possibile scrivere alcune classi in un altro file kv?

Ciò renderebbe molto più facile da modificare, correggere gli errori, apportare modifiche ... ecc

Giusto per chiarire - i file .KV sarebbe una continuazione della vicenda - non punta a un'applicazione in parallelo .

Alcune informazioni approfondite saranno molto apprezzate - Grazie.

risposta

8

Sì, lo è! È possibile importare i file .kv all'interno dei file, proprio come normali file python iniziando con:

#:include otherfile.kv 

Se si desidera che il file da scaricare e ricaricare prima è possibile forzare l'importazione digitando

#:include force otherfile.kv 

invece.

Tutto questo come scritto nello Kivy Language Documentation che è pieno di utili chiarimenti.

+4

Ho smesso di fare scherzi con Kivy molto tempo fa - ma posso vedere dalla documentazione che l'opzione è diventata disponibile in 1.9 - una versione più recente dal Ho fatto la domanda. Quindi, in conclusione, la mia domanda non era pazzesca. –

+0

Sai se puoi navigare tra le directory con questa sintassi? Per esempio posso importare cose in python con say 'da ui.myclass import MyClass', ma' #: include ui.mywidget.kv' non funziona. La documentazione non sembra menzionare questo. – Josh

+1

@Josh Sì puoi '#: include ui/mywidget.kv' – clfaster

3

Sì:

from kivy.lang import Builder 
Builder.load_file('your_filename') 
+0

Questo carica solo un file kv giusto? –

+0

Sì, ma è possibile eseguirlo tutte le volte che vuoi – inclement

+0

Ok, ma la mia domanda è se riesco a caricare più file kv che funzionano insieme come uno. –

Problemi correlati