使用Kivy将文本输入到另一个屏幕

时间:2015-11-21 00:41:43

标签: python kivy

我正在使用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}}

0 个答案:

没有答案