Использование значения из textinput в python


Я хочу сделать приложение, которое печатало бы текст, введенный в TextInput, когда я нажимаю Print. После пары часов поиска в Интернете я все еще не могу понять, как определить значение TextInput в переменной в скрипте python.

Это код Киви:

<SimpleRoot>:
    orientation:"vertical"
    padding: root.width * .02, root.height * .02
    spacing: "10dp"
    TextInput:
        id: txt
    Button:
        text: 'Print'
        on_press: root.printTxt(txt.text)

Скрипт Python:

from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.textinput import TextInput
from kivy.uix.boxlayout import BoxLayout

class SimpleRoot(BoxLayout): # 2
    def printTxt(text):
        print txt.text


    pass

class SimpleApp(App):  # 1  
    def build(self):
        # Return root widget 
        return SimpleRoot()

if __name__ == "__main__":  
    SimpleApp().run()
1 4

1 ответ:

Попробуйте изменить это:

class SimpleRoot(BoxLayout): # 2
    def printTxt(text):
        print txt.text

К этому

class SimpleRoot(BoxLayout): # 2
    def printTxt(self, text):
        print text