Files
textual/docs/widgets/tree.md
Will McGugan 2244b1161e api docs (#2240)
* api docs

* more docstrings

* logs

* docs shakeup

* fix notes, added intro to all apis

* Remove defaults to

* add note to events

* note

* use fira code
2023-04-08 15:35:49 +01:00

1.8 KiB

Tree

!!! tip "Added in version 0.6.0"

A tree control widget.

  • Focusable
  • Container

Example

The example below creates a simple tree.

=== "Output"

```{.textual path="docs/examples/widgets/tree.py"}
```

=== "tree.py"

```python
--8<-- "docs/examples/widgets/tree.py"
```

Tree widgets have a "root" attribute which is an instance of a [TreeNode][textual.widgets.tree.TreeNode]. Call [add()][textual.widgets.tree.TreeNode.add] or [add_leaf()][textual.widgets.tree.TreeNode.add_leaf] to add new nodes underneath the root. Both these methods return a TreeNode for the child which you can use to add additional levels.

Reactive Attributes

Name Type Default Description
show_root bool True Show the root node.
show_guides bool True Show guide lines between levels.
guide_depth int 4 Amount of indentation between parent and child.

Messages

::: textual.widgets.Tree.NodeCollapsed

::: textual.widgets.Tree.NodeExpanded

::: textual.widgets.Tree.NodeHighlighted

::: textual.widgets.Tree.NodeSelected

Bindings

The tree widget defines the following bindings:

::: textual.widgets.Tree.BINDINGS options: show_root_heading: false show_root_toc_entry: false

Component Classes

The tree widget provides the following component classes:

::: textual.widgets.Tree.COMPONENT_CLASSES options: show_root_heading: false show_root_toc_entry: false


::: textual.widgets.Tree options: heading_level: 2


::: textual.widgets.tree.TreeNode options: heading_level: 2