New to Python / Kivy, trying to create a test application with an input field, an ok button and a label that should change text when the ok button is clicked. But instead, I get 'NameError: the global name' txt1 'is undefined'. What am I doing wrong?
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
class MyApp(App):
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
def buttonClicked(self,btn):
lbl1.text = "You wrote " + txt1.text
if __name__ == "__main__":
MyApp().run()
source
share