我正在使用Screen Manager创建一个应用程序。 我希望从一个屏幕获取文本输入,单击“下一步”,然后在另一个屏幕的标签中使用它,并将该值保存为全局变量。
我的问题是:如何让它发挥作用,因为它没有按照我想要的方式工作。标签始终为0,并且永远不是我输入的值。全局变量的值永远不会改变。
main.py文件:
ScreenManager:
id: screen_manager
FirstScreen:
id: screen1
name: "FirstScreen"
manager: screen_manager
SecondScreen:
id: screen2
name: "SecondScreen"
manager: screen_manager
<FirstScreen>:
FloatLayout:
canvas.before:
Color:
rgba: 0.1, 0.1, 0.1, 1
Rectangle:
# self here refers to the widget i.e BoxLayout
pos: self.pos
size: self.size
TextInput:
id: text_input
multiline: False
size_hint_x: .4
size_hint_y: .1
pos_hint: {'x': .1, 'y': .20}
Button:
background_color: 0.2, 0.7, 1, 1,
font_size: root.width / 15
id: btn1
text: "Next"
on_press:
root.SaveResult(text_input.text)
root.manager.current = 'SecondScreen'
size_hint_x: .4
size_hint_y: .1
pos_hint: {'x': .5, 'y': .20}
<SecondScreen>:
FloatLayout:
canvas.before:
Color:
rgba: 0.1, 0.1, 0.1, 1
Rectangle:
# self here refers to the widget i.e BoxLayout
pos: self.pos
size: self.size
Label:
color: 0.2, 0.7, 1, 1,
font_size: root.width / 15
id: lb1
text: root.a
size_hint_x: .4
size_hint_y: .2
pos_hint: {'x': .3, 'y': .8}
和我的test.kv
{{1}}