mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
1.7 KiB
1.7 KiB
Tree
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"
```
A each tree widget has a "root" attribute which is an instance of a [TreeNode][textual.widgets.TreeNode]. Call [add()][textual.widgets.TreeNode.add] or [add_leaf()][textual.widgets.TreeNode.add_leaf] to add new nodes underneath the root. Both these methods return a TreeNode for the child, so you can add more levels.
Events
| Event | Default handler | Description |
|---|---|---|
Tree.NodeSelected |
on_tree_node_selected |
Sent when the user selects a tree node. |
Tree.NodeExpanded |
on_tree_node_expanded |
Sent when the user expands a node in the tree. |
Tree.NodeCollapsed |
on_tree_node_collapsed |
Sent when the user collapsed a node in the tree. |
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. |
See Also
- [Tree][textual.widgets.Tree] code reference
- [TreeNode][textual.widgets.TreeNode] code reference