To show you a graphic example of this I will use Floatlayout, but you can use any layout or widget, and the App, which as you must know is where your app will run.
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.textinput import TextInput
class RootWid(FloatLayout):
def __init__(self, **kwargs):
super().__init__(**kwargs)
# Aqui ela cria a instância para sua caixa de texto, multiline significa
# múltiplas linhas.
textinput = TextInput(text='Hello world', multiline=False)
# A função bind vínculara algo, para quando aquilo acontecer ela chamar uma
# função. No exemplo abaixo o textinput é vínculado para quando o texto
# validar (pressionar "Enter") ele fazer a função on_enter.
textinput.bind(on_text_validate=self.on_enter)
# Aqui ele adiciona o textinput a nossa classe
self.add_widget(textinput)
# A instance aqui é o self, ou seja, a classe que estamos, e value é
# a instância de textinput. Você pode usar outros nomes se quiser, botaram
# na documentação instance e value apenas por convenção
def on_enter(instance, value):
print('O usuário pressionou enter e o texto foi: ', value.text, '\na instância
é: ', instance)
class MyApp(App):
def build(self):
rt = RootWid()
return rt
MyApp().run()