Using ROS message and python to update text input field in kivy GUI

If you want your text to automatically update, you need to use Kivy properties.

from kivy.properties import StringProperty
class Test(BoxLayout):
    text_is = StringProperty('text before button press')

Kivy properties support data binding, so any updates to the property will propagate through to any bound widget. Binding happens automatically in kv, so when you do this:

text: root.text_is

..you're telling Kivy that when root.text_is is updated, update my text also.