66 lines
1.7 KiB
Markdown
66 lines
1.7 KiB
Markdown
# Tree
|
|
|
|
A tree control widget.
|
|
|
|
- [x] 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 directly 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
|
|
|
|
## See Also
|
|
|
|
* [Tree][textual.widgets.Tree] code reference
|
|
* [TreeNode][textual.widgets.tree.TreeNode] code reference
|