In this chapter, you’ll learn what Kivy means, specifically, by the words event and property. You’ll also learn how to respond to events using event handlers and how changing properties automatically fires events on those properties. I’ll include a digression on choosing client libraries. By the end of the chapter, you will be able to search for weather locations anywhere in the world.
Dictionary.com defines an event as “something that happens, especially something important.” That’s a perfect description of events in Kivy. Kivy is firing events all the time, but you only have to pay attention to those that you consider important. Every graphical toolkit has some concept of events. The difference between Kivy and those other toolkits is that in Kivy, event dispatch and handling are sane and uncomplicated.
Like most user interface toolkits, Kivy provides an event loop. This is executed by your Python code when you call the
run method on
WeatherApp. Underneath the hood, this method is constantly cycling through events such as touch or mouse motion, clock ticks, keyboard entry, accelerometer input, and more. When something interesting happens, it does the necessary processing to make sure that your code knows the event has happened and has a chance to respond.
So if an event is something that happens, an event handler is something that responds to something that happens. In Kivy, an event handler is just a function or method. By the end ...