Ключевое слово //app// позволяет обратиться к элементу, который относится к приложению. Это эквивалентно вызову функции, которая находится в коде приложения, написанного на Python. Рассмотрим это на простейшем примере. from kivy. app import App from kivy.lang import Builder KV = ''' BoxLayout: orientation: 'vertical' Button: text: "Кнопка1" on_press: app.press_button (self.text) Button: text: "Кнопка2" on_press: app.press_button (self.text) Label: id:lb1 text: app.name ''' class MainApp (App): def build (self): return Builder.load_string(KV) def press_button (self, instance): self.root.ids.lb1.text="Вы нажали на кнопку: " + instance if __name__ == '__main__': MainApp().run() В этом модуле создан корневой виджет BoxLayout. Затем в корневой виджет вложено три элемента – две кнопки (Button) и метка (Label). Событие нажатия кнопки (//on_press//), будет обработано функцией ''press_button''. Эта функция находится в приложении //Main//, поэтому перед именем функции стоит префикс //app// – ''app.press_button (self. text)''. То есть в данной строке указано, что мы через префикс app обращаемся к приложению Main, в частности к функции press_button, и передаем в эту функцию свойство //text// данной кнопки (''self.text''). Метка Label имеет свойство text. Этому свойству через префикс app по умолчанию присваивается имя приложения (Main). Получается, что с использованием префикса app кнопка обратилась к функции приложения и передала ему свое свойство, а метка Label получила значение своего свойства из приложения Main. В методе //press_button//, который вызывается при нажатии на одну из кнопок, меняется текст в метке, для обращения к которой приходится использовать конструкцию ''self.root.ids.lb1'', где в данном случае * [[kivy:self|self]] - ссылка на MainApp * [[kivy:root|root]] - корневой виджет BoxLayout * [[kivy:ids|ids]] - идентификаторы в пределах корневого виджета * lb1 - идентификатор метки После запуска данного модуля получим следующий результат: {{ :kivy:008.png?400 |}}