Как связать ввод MDTextField с текстом метки на втором экране

#python #kivy #label #kivymd

#python #kivy #метка #kivymd

Вопрос:

Я начал создавать небольшое приложение, и я застрял. Я перепробовал много разных идей с этого форума, но ничто не подходило для моего приложения. Я уже запутался, как мне это сделать. Все, что я хочу, это взять ввод из MDTextField (который предоставляется пользователем) и показать его в тексте метки на втором экране.

Мой файл .kv:

 ScreenManager:
    First:
    Second:

<First@Screen>:
    name: 'screen1'
    MDTextFieldRound: 
        id: getpath
        text: "Enter player name"
        pos_hint: {'center_x': 0.5, 'center_y': 0.5}
        size_hint_x: None
        width: 300
        mode: "rectangle"
        icon_right: "scissors-cutting"
    MDRectangleFlatButton:
        text: "Submit"
        pos_hint: {'center_x': .5, 'center_y': 0.4}
        on_release: root.manager.current = 'screen2'
<Second@Screen>:
    name: 'screen2'
    canvas:
        Rectangle:
            source: 'image.jpg'
            pos: self.pos
            size: self.size
    Label:
        id: lab
        text: ''
 

Мой main.py:

 class PKNApp(MDApp):
    def build(self):
        pass


PKNApp().run()
 

Ответ №1:

Если вы добавите id for First Screen в свой kv , например, так:

 ScreenManager:
    First:
        id: first
    Second:
 

Затем вы можете использовать это id для доступа к TextInput , например:

 Label:
    id: lab
    text: root.manager.ids.first.ids.getpath.text
 

Комментарии:

1. Да! Спасибо, это именно то, что мне было нужно!