Итак, я нашел обходной путь, который может быть нестабильным, но пока работает.
Заняло у меня часы.
Я только что объявил свойство eveyr как глобальную переменную. Затем я написал глобальную функцию экспорта, которая перезаписывает все глобальные переменные. Поэтому, когда я переключаю экран, я выполняю экспорт (реквизит). Теперь все свойства из моего последнего просмотра экспортируются. Мне нужно обновить все свойства каждого экрана. Поэтому каждый экран имеет обновление (). Export () расширяется циклом for для всех экранов, вызывая update ().
home_name = ''
def export(hn):
home_name = hn
for screen in sm.screens:
screen.update()
class Team(BoxLayout):
home_name = StringProperty()
def update(self):
global home_name
self.home_name = home_name
class Box(BoxLayout):
home_name = StringProperty("Home")
def load_team(self):
export(self.home_name)
sm.current = 'team'
def update(self):
global home_name
self.home_name = home_name
#further screen specific actions
киловольт
<Team>:
id: team
TextInput:
id: team_name
text: root.home_name
multiline: False
Button:
text: "Save"
on_press: root.save(team_name.text)
<Box>:
Button:
id: btn_home_name
text: root.home_name
on_press: root.load_team()