Ключевое слово root
Ключевое слово root (корень) позволяет получить ссылку на параметры корневого виджета. Самый внешний блок в KV-файле называется корневым виджетом. В каждом файле KV может быть только один корневой виджет.
BoxLayout:
Label:
text: "Hello"
Label:
text: "Beautiful"
Label:
text: "World"
Корневой виджет в данном случае является объектом BoxLayout. Виджеты Layout по сути представляют собой контейнеры, которые умеют хранить другие виджеты и каким-либо образом позиционировать их. В данном примере имеются три метки выделенные отступом, которые являются дочерними элементами BoxLayout. Каждая из этих меток имеет собственный блок с отступом, в котором хранятся свойства этого виджета. В этом примере для каждого указано разное значение текста.
Это корневой виджет, потому что это самая левая строка и вокруг нее нет каких-либо угловых скобок, указывающих на то, что это что-то еще. Корневой виджет непосредственно отображается в окне Kivy. Если это виджет-контейнер, содержащий несколько дочерних виджетов, он также отрисовывает и их.
Демонстрация использования ключевого слова root
from kivy. app import App
from kivy.lang import Builder
KV = '''
BoxLayout:
orientation: 'vertical'
Button:
text: root. orientation
'''
class MainApp (App):
def build (self):
return Builder.load_string(KV)
if __name__ == '__main__':
MainApp().run()
Здесь создан корневой виджет BoxLayout и его свойству orientation задано значение – «vertical». Затем в корневой виджет вложен элемент
Button (кнопка). Свойству кнопки text, через префикс root присвоено значение свойства корневого виджета – orientation (root. orientation).
Получается, что кнопка сделала запрос к свойству корневого виджета. После запуска приложения получим следующий результат: