Obtenir textinput valeur dans Kivy app

Python/Kivy, en essayant de construire une application de test avec une zone de saisie, un bouton ok et un label qui devrait changer de texte lorsque le ok bouton est cliqué. Mais au lieu de cela j'ai obtenu un NameError: nom global de "txt1" n'est pas défini". Ce que je fais mal?

# import Kivy
import kivy
import random

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

# my app
class MyApp(App):
# layout
    def build(self):
        layout = BoxLayout(padding=10, orientation='vertical')
        btn1 = Button(text="OK")
        btn1.bind(on_press=self.buttonClicked)
        layout.add_widget(btn1)
        lbl1 = Label(text="test")
        layout.add_widget(lbl1)
        txt1 = TextInput(text='', multiline=False)
        layout.add_widget(txt1)
        return layout

# button click function
    def buttonClicked(self,btn):
        lbl1.text = "You wrote " + txt1.text

# run app
if __name__ == "__main__":
    MyApp().run()

OriginalL'auteur Fred | 2014-10-11