使用kivy语言将数据从一个窗口的一个Textinput小部件捕获到另一窗口的textinput小部件中

时间:2019-09-18 14:29:07

标签: python kivy kivy-language

我是kivy应用程序开发的新手。我使用python和kivy语言设计了一个简单的应用程序,但遇到了问题。

我的应用程序有2个窗口:

  1. 表单以捕获姓名和年龄(2个文本输入小部件和一个按钮小部件)

  2. 显示姓名和年龄(1个文本输入小部件)

我的要求是在第一个表单窗口中按下按钮事件,应用程序必须导航到第二个显示窗口,并且必须将在表单窗口中输入的姓名和年龄的详细信息捕获到显示窗口的textinput字段中。

我写了以下代码:请帮助我调试错误。

Questionnaire.py

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager,Screen
from kivy.properties import ObjectProperty


class LoginWindow(Screen):

    def __init__(self,**kwargs):
        self.name=ObjectProperty(None)
        self.age=ObjectProperty(None)

class QuestionWindow(LoginWindow,Screen):

    def __init__(self):
        super().__init__()
        self.display=ObjectProperty(None)
        self.display.text="Name:"+self.name.text+"Age:"+self.age.text

class WindowManager(ScreenManager):
    pass

kv=Builder.load_file("Design.kv")

class QuestionnaireApp(App):
    def build(self):
        return kv

if __name__=="__main__":
    QuestionnaireApp().run()

Design.kv

WindowManager:
    LoginWindow:
    QuestionWindow:

<LoginWindow>:
    name:name
    age:age
    GridLayout:
        cols:1
        GridLayout:
            cols:2
            Label:
                text:"Name"
            TextInput:
                id:name
                multiline:False
            Label:
                text:"Age"
            TextInput:
                id:age
                multiline:False
        Button:
            text:"Submit"
            on_release:app.root.current="question"

<QuestionWindow>:
    name:"question"
    display:display
    TextInput:
        id:display

0 个答案:

没有答案