Tree#

Availability (Key)#

macOS

GTK

Windows

iOS

Android

Web

The tree widget is still under development.

Usage#

import toga

tree = toga.Tree(['Navigate'])

tree.insert(None, None, 'root1')

root2 = tree.insert(None, None, 'root2')

tree.insert(root2, None, 'root2.1')
root2_2 = tree.insert(root2, None, 'root2.2')

tree.insert(root2_2, None, 'root2.2.1')
tree.insert(root2_2, None, 'root2.2.2')
tree.insert(root2_2, None, 'root2.2.3')

Reference#

class toga.widgets.tree.Tree(headings, id=None, style=None, data=None, accessors=None, multiple_select=False, on_select=None, on_double_click=None, factory=None)#

Tree Widget.

Parameters:
  • headings – The list of headings for the interface.

  • id – An identifier for this widget.

  • style – An optional style object. If no style is provided then a new one will be created for the widget.

  • data

    The data to display in the widget. Can be an instance of TreeSource, a list, dict or tuple with data to display in the tree widget, or a class instance which implements the interface of TreeSource. Entries can be:

    • any Python object value with a string representation. This string will be shown in the widget. If value has an attribute icon, instance of (Icon), the icon will be shown in front of the text.

    • a tuple (icon, value) where again the string representation of value will be used as text.

  • accessors – Optional; a list of attributes to access the value in the columns. If not given, the headings will be taken.

  • multiple_select – Boolean; if True, allows for the selection of multiple rows. Defaults to False.

  • on_select – A handler to be invoked when the user selects one or multiple rows.

  • on_double_click – A handler to be invoked when the user double clicks a row.

Create a base Toga widget.

This is an abstract base class; it cannot be instantiated.

Parameters:
  • id – The ID for the widget.

  • style – A style object. If no style is provided, a default style will be applied to the widget.

MIN_HEIGHT = 100#
MIN_WIDTH = 100#
property data#

The data source of the tree

Type:

returns

property multiple_select#

Does the table allow multiple rows to be selected?

property on_double_click#

The callable function for when a node on the Tree is selected. The provided callback function has to accept two arguments tree (Tree) and node (Node or None).

Return type:

callable

property on_select#

The callable function for when a node on the Tree is selected. The provided callback function has to accept two arguments tree (Tree) and node (Node or None).

Return type:

callable

property selection#

The current selection of the table.

A value of None indicates no selection. If the tree allows multiple selection, returns a list of selected data nodes. Otherwise, returns a single data node.