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