Skip to Content
Creating Apps in Kivy
book

Creating Apps in Kivy

by Dusty Phillips
April 2014
Beginner to intermediate content levelBeginner to intermediate
188 pages
4h 17m
English
O'Reilly Media, Inc.
Content preview from Creating Apps in Kivy

Chapter 3. Manipulating Widgets

It’s time to think about widgets again. In this chapter, you’ll see how to dynamically change what widgets are displayed in the widget tree. You’ll mainly be implementing searching and the rendering of search results. This will give you a good understanding of the intricacies of the Kivy ListView widget and its adapters, and you’ll also learn how to create widgets and update the display dynamically in response to user or system events.

A More Extensible Root Widget

While the user will find it useful for the Add Location form to be rendered the first time the application is run, it’s not actually appropriate to set it as the root widget on the app. It’s better to have a custom root widget that knows how to manage the widgets that are displayed on it, such as the various forms I mentioned in Chapter 1.

I expect the root widget to have several methods for manipulating the display of child widgets. Start by adding an empty class to the main.py file. Make it extend BoxLayout, but for now, the class can be otherwise empty (meaning it will behave exactly like a normal BoxLayout). See Example 3-1.

Example 3-1. Empty root class
class WeatherRoot(BoxLayout):
    pass

For now, set up the KV language file to render an instance of this as the root widget. Then set up a new rule for it to include AddLocationForm as a child, as demonstrated in Example 3-2.

Example 3-2. Root widget with AddLocationForm child
WeatherRoot:

<WeatherRoot>:
    AddLocationForm

Since the parent class is ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Kivy - Interactive Applications and Games in Python

Kivy - Interactive Applications and Games in Python

Roberto Ulloa
Kivy Cookbook

Kivy Cookbook

Hugo Solis
Kivy Blueprints

Kivy Blueprints

Mark Vasilkov

Publisher Resources

ISBN: 9781491947333ErrataSupplemental Content