Ключевое слово root (корень) позволяет получить ссылку на параметры корневого виджета. Самый внешний блок в KV-файле называется корневым виджетом. В каждом файле KV может быть только один корневой виджет.
BoxLayout:
Label:
text: "Hello"
Label:
text: "Beautiful"
Label:
text: "World"
Корневой виджет в данном случае является объектом ''BoxLayout''. Виджеты Layout по сути представляют собой контейнеры, которые умеют хранить другие виджеты и каким-либо образом позиционировать их. В данном примере имеются три метки выделенные отступом, которые являются дочерними элементами BoxLayout. Каждая из этих меток имеет собственный блок с отступом, в котором хранятся свойства этого виджета. В этом примере для каждого указано разное значение текста.
Это корневой виджет, потому что это самая левая строка и вокруг нее нет каких-либо угловых скобок, указывающих на то, что это что-то еще. Корневой виджет непосредственно отображается в окне Kivy. Если это виджет-контейнер, содержащий несколько дочерних виджетов, он также отрисовывает и их.
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'').
Получается, что кнопка сделала запрос к свойству корневого виджета. После запуска приложения получим следующий результат:
{{ :kivy:007.png?400 |}}