2015-03-29 3 views
9

Ich weiß, dass die kurze Antwort "nein" sein kann, aber vielleicht ist es das wert, noch einmal zu fragen.Kann ich mehr als eine .kv-Datei in der Kivy App lesen?

Wenn ich eine Kivy-App mit ein paar tausend Zeilen witze - dann wäre es möglich, einige Klassen in einer anderen kv-Datei zu schreiben?

Dies würde es so viel einfacher zu bearbeiten, korrigieren Fehler Änderungen vornehmen ... etc.

Nur um zu klären - die .KV Dateien eine Fortsetzung voneinander entfernt sein würde - nicht zu einem parallelen App zeigt .

Einige Experteneinblicke würden sehr geschätzt werden - Danke.

Antwort

8

Ja, es ist! Sie können .kv Dateien in Dateien wie normale Python-Dateien importieren, indem mit:

#:include otherfile.kv 

Wenn Sie die Datei zuerst zu entladen und laden Sie den Import erzwingen

#:include force otherfile.kv 

statt tippen.

All dies wie in der Kivy Language Documentation geschrieben, die voll von nützlichen Klarstellungen ist.

+4

Ich habe vor langer Zeit aufgehört, mit Kivy herumzuspielen - aber ich kann aus der Dokumentation entnehmen, dass die Option in 1.9 verfügbar war - eine neuere Version seit Ich habe die Frage gestellt. Meine Frage war also nicht verrückt. –

+0

Wissen Sie, ob Sie Verzeichnisse mit dieser Syntax durchsuchen können? Zum Beispiel kann ich Zeug in Python importieren mit sagen 'aus ui.myclass import MyClass', aber' #: include ui.mywidget.kv' funktioniert nicht. Die Dokumentation scheint dies nicht zu erwähnen. – Josh

+1

@Josh Ja, Sie können '#: include ui/mywidget.kv' – clfaster

3

Ja:

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

Das lädt nur eine kv-Datei richtig? –

+0

Ja, aber Sie können es so oft ausführen, wie Sie wollen – inclement

+0

Ok, aber meine Frage ist, ob ich mehrere kv-Dateien laden kann, die zusammen arbeiten. –

Verwandte Themen