After experimenting with the .kv language some of you may have asked the question: How do we access our elements (textinput, button etc.) from our python script? Well that is an excellent question and is what we have object properties for!
An object property allows us to create a reference to widgets from within a .kv file from our python script.
Modifying the .kv File
To set up object properties we need to create global variables from within our .kv file and assign these variables to the id property of specific widgets.
Modifying the Python Script
The first thing we need to do to use an object property from within our python script is import the specific module.
Next we will define two object properties from within our class MyGrid.
We initialize the values as None to start as when we first create the class they will have no value.
Now if we want to access the value of the TextInput box with id email we can simply use self.email to do so. Similarity for the name TextInput.
Creating a Button On_Press
Like we had in previous tutorials we'd like our button to perform a function when it is clicked. To accomplish this we need to create a method inside of our MyGrid class that we can call each time our button is pressed. We will call this btn().
This method will print the contents of our form and clear both of the text input boxes.
Now we need to tell the button what it should call when it is pressed. To do this we will add the property on_press in our .kv file.
We use app.btn() to reference the class that contains our btn method.
Now we should have a functioning application that works the same as the one we created in tutorial #3. However, we have successfully separated our logic from our styling and elements.