Как получить доступ к функции в корневом классе в kivy без какого-либо события нажатия кнопки? - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу получить доступ к функции, определенной внутри корневого класса, без события нажатия кнопки.Но я получаю сообщение об ошибке при попытке выполнить следующий код.

Я новичок в разработке приложений для kivy

lesson1.py

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

class Screen1(Screen):
    user_name = ObjectProperty(None)
    user_age = ObjectProperty(None)

class Screen2(Screen):
    display = ObjectProperty(None)

    def validate(self):
        text = "Name : {} Age: {}".format(Screen1.user_name.text, Screen2.user_age.text)
        self.display.text = 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.py

WindowManager:
    Screen1
    Screen2

<Screen1>:
    name: "login"
    user_name: name
    user_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:"question"

<Screen2>:
    name: "question"
    display: display
    TextInput:
        id: display
    root.validate()

сообщение об ошибке

 kivy.lang.parser.ParserException: Parser: File "C:\Users\pavan m sunder\virtual environments\android\Design.kv", line 33:
 ...
      31:    TextInput:
      32:        id: display
 >>   33:    root.validate()
 ...
 Invalid class name
...