В базовом модуле приложения на языке Python всегда создается базовый класс, при этом используется зарезервированный шаблон имени – ''Class_nameApp''. Модуль с деревом виджетов на языке KV так же имеет зарезервированный шаблон имени – ''class_name.kv''.
В этом случае базовый класс //Class_nameApp// ищет kv-файл с тем же именем, что и имя базового класса, но в нижнем регистре и без символов //App//. Например, если базовый класс приложения имеет имя – "//My_ClassApp//", то файл с кодом на языке KV должен иметь имя "//my_class.kv//".
Если такое совпадение имен обнаружено, то программный код, содержащийся в этих двух файлах, будет объединен в одно приложение.
from kivy.app import App
class MyApp(App): # определение базового класса
pass
MyApp().run() # запуск приложения
В этом модуле просто создан базовый класс MyApp, внутри которого нет выполнения каких либо действий. Теперь создадим файл с именем my.kv и размести в нем следующий код:
# файл my.kv
Label:
text: "Метка из файла my.kv"
font_size: '16pt'
В этом коде мы создали метку (Label), и свойству метке (text) присвоили значение – ''"Метка из файла my.kv"'', указали размер шрифта, которым нужно вывести на экран данный текст – '16pt'. Теперь запустим наше приложение и получим следующий результат:
{{ :kivy:013.png?400 |}}
Здесь сработал метод соглашения имен, который работает следующим образом:
* По умолчанию при запуске программного модуля приложения (MyApp) ищет файл с именем – my.kv.
* Если такой файл в папке с приложением имеется, то описанные там визуальные элементы выводятся на экран.