”;
The Console tool in Kivy is similar to Inspector tool, with an additional featureprovision to add buttons and panels with the help of its addon architecture. Like the Inspector, the “kivy.modules.console” module has a command-line interface, as also an API for the tool to be used programmatically.
In the command line usage, load the module with “-m” option of Python executable.
python main.py -m console
To activate the Kivy Console, call the create_console() function from the console module with the Window and the App object as arguments. You need to place the following statement in the build() method of the App class.
from kivy.modules import console class Demo(App): def build(self): button = Button(text="Test") console.create_console(Window, self) return button
Assume that you have developed a Kivy application with “slider.py” program that has the following interface.
The app has three slider controls that help in changing the color of the text above. Add the call to the create_console() function (as described above) in the build() method of slider.py file and run it. To start with the above interface will be visible. Press ctrl+E to activate the Console tool.
Following key combinations are defined −
-
“Ctrl + e” − toggle console
-
“Escape” − cancel widget lookup, then hide inspector view
-
“Up” − select the parent widget
-
“Down” − select the first child of the currently selected widget
-
“Left” − select the previous sibling
-
“Right” − select the next sibling
When the console tool is activated, it shows a bar in the middle with Select, Properties and Tree buttons on left and a FPS button on the right.
Click on the “Tree” button and you get a widget tree of the interface. Select the Slider control from the tree.
Now press the Properties button. A scrollable list of all the properties of Slider widget will be available.
Scroll down to the value property, and double click to get an editable box in which the current value is displayed, which you can change.
Press escape to remove the console. You should see the Slider at the value set by you from the console.
Addons
One of the important features of the Console tool is the addon architecture which allows you to add buttons and panels to it. The addons activated by default are −
-
ConsoleAddonFps − display the FPS at the top-right.
-
ConsoleAddonSelect − activate the selection mode.
-
ConsoleAddonBreadcrumb − display the hierarchy of the current widget at the bottom.
-
ConsoleAddonWidgetTree − panel to display the widget tree of the application.
-
ConsoleAddonWidgetPanel − panel to display the properties of the selected widget.
To activate an addon, it must be added to Console.addons before the create_console is called.
About Addon
Let us add a About button the Console tool. It displays the object description including its ID in the console tool workspace in the middle.
Add the following code in slider.py, before the definition of the App class −
from kivy.modules.console import Console, ConsoleAddon, ConsoleLabel class ConsoleAddonAbout(ConsoleAddon): def init(self): self.console.add_panel( "About", self.panel_activate, self.panel_deactivate ) def panel_activate(self): self.console.bind(widget=self.update_content) self.update_content() def panel_deactivate(self): self.console.unbind(widget=self.update_content) def deactivate(self): self.panel_deactivate() def update_content(self, *args): widget = self.console.widget if not widget: return text = "Selected widget is: {!r}".format(widget) lbl = ConsoleLabel(text=text) self.console.set_content(lbl) Console.register_addon(ConsoleAddonAbout)
If you run the slider.py script again, you get the About button added next to the Tree button. Locate the Slider from the widget tree and click on About button to show the object ID of the slider widget.
”;