Я создал в Kivy окно редактирования, позволяющее отображать содержимое словаря и изменять содержимое связанных элементов (текста). Сначала все поля TextInput инициализируются данными из первого шага процесса, хранящимися в словаре. Есть кнопка для запуска и отображения следующего шага. Но пользователь может тем временем изменить содержимое определенного поля TextInput. При изменении новое содержимое TextInput должно быть присвоено локальной переменной (в приведенном ниже примере, представленном в виде печати). Короче у меня есть следующий код. К сожалению, переменная не обновляется. Что случилось?
Часть питона:
from kivy.properties import StringProperty
class pezHome(Widget):
title = StringProperty()
def init_pez(self):
self.title = "Enter your title"
def update(self):
new_title = self.title
print "New title is: ", new_title
class pezApp(App):
def build(self):
homeWin = pezHome()
homeWin.init_editor()
return homeWin
pezApp().run()
Соответствующий файл kv:
<pezHome>:
TextInput:
text: root.title
on_text: root.title
readonly: False