mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
Add widget gallery
This commit is contained in:
181
docs/widget_gallery.md
Normal file
181
docs/widget_gallery.md
Normal file
@@ -0,0 +1,181 @@
|
||||
---
|
||||
hide:
|
||||
- navigation
|
||||
---
|
||||
|
||||
# Widgets
|
||||
|
||||
Welcome to the Textual widget gallery.
|
||||
|
||||
We have many more widgets planned, or you can [build your own](./guide/widgets.md).
|
||||
|
||||
|
||||
!!! info
|
||||
|
||||
Textual is a TUI framework. Everything below runs in the *terminal*.
|
||||
|
||||
|
||||
## Button
|
||||
|
||||
A simple button with a variety of semantic styles.
|
||||
|
||||
[Button reference](./widgets/button.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/button.py"}
|
||||
```
|
||||
|
||||
|
||||
## Checkbox
|
||||
|
||||
A classic checkbox widget.
|
||||
|
||||
[Checkbox reference](./widgets/checkbox.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/checkbox.py"}
|
||||
```
|
||||
|
||||
|
||||
## DataTable
|
||||
|
||||
A versatile data table widget, with configurable cursors.
|
||||
|
||||
[DataTable reference](./widgets/data_table.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/data_table.py"}
|
||||
```
|
||||
|
||||
## DirectoryTree
|
||||
|
||||
A tree view of files and folders.
|
||||
|
||||
[DirectoryTree reference](./widgets/directory_tree.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/directory_tree.py"}
|
||||
```
|
||||
|
||||
## Footer
|
||||
|
||||
A footer to display and interact with key bindings.
|
||||
|
||||
[Footer reference](./widgets/footer.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/footer.py"}
|
||||
```
|
||||
|
||||
|
||||
## Header
|
||||
|
||||
A header to display the app's title and subtitle.
|
||||
|
||||
|
||||
[Header reference](./widgets/header.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/header.py"}
|
||||
```
|
||||
|
||||
|
||||
## Input
|
||||
|
||||
A control to enter text.
|
||||
|
||||
[Input reference](./widgets/input.md){ .md-button .md-button--primary }
|
||||
|
||||
|
||||
```{.textual path="docs/examples/widgets/input.py" press="tab,D,a,r,r,e,n"}
|
||||
```
|
||||
|
||||
|
||||
## Label
|
||||
|
||||
A simple text label.
|
||||
|
||||
[Label reference](./widgets/label.md){ .md-button .md-button--primary }
|
||||
|
||||
|
||||
## ListView
|
||||
|
||||
A widget to display a list of items.
|
||||
|
||||
[ListView reference](./widgets/list_view.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/list_view.py"}
|
||||
```
|
||||
|
||||
## MarkdownViewer
|
||||
|
||||
Display and interact with a Markdown document (adds a table of contents and browser-like navigation to Markdown).
|
||||
|
||||
[MarkdownViewer reference](./widgets/markdown_viewer.md){ .md-button .md-button--primary }
|
||||
|
||||
|
||||
```{.textual path="docs/examples/widgets/markdown_viewer.py" columns="100" lines="42"}
|
||||
```
|
||||
|
||||
## Markdown
|
||||
|
||||
Display a markdown document.
|
||||
|
||||
[Markdown reference](./widgets/markdown.md){ .md-button .md-button--primary }
|
||||
|
||||
|
||||
```{.textual path="docs/examples/widgets/markdown.py"}
|
||||
```
|
||||
|
||||
|
||||
## Placeholder
|
||||
|
||||
Display placeholder content while you are designing a UI.
|
||||
|
||||
[Placeholder reference](./widgets/placeholder.md){ .md-button .md-button--primary }
|
||||
|
||||
|
||||
```{.textual path="docs/examples/widgets/placeholder.py"}
|
||||
```
|
||||
|
||||
## RadioButton
|
||||
|
||||
A simple radio button.
|
||||
|
||||
[RadioButton reference](./widgets/radiobutton.md){ .md-button .md-button--primary }
|
||||
|
||||
|
||||
```{.textual path="docs/examples/widgets/radio_button.py"}
|
||||
```
|
||||
|
||||
## RadioSet
|
||||
|
||||
A collection of radio buttons, that enforces uniqueness.
|
||||
|
||||
[RadioSet reference](./widgets/radioset.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/radio_set.py"}
|
||||
```
|
||||
|
||||
|
||||
## Switch
|
||||
|
||||
A on / off control, inspired by toggle buttons.
|
||||
|
||||
[Switch reference](./widgets/switch.md){ .md-button .md-button--primary }
|
||||
|
||||
|
||||
```{.textual path="docs/examples/widgets/switch.py"}
|
||||
```
|
||||
|
||||
## TextLog
|
||||
|
||||
A widget to display text in a scrolling panel.
|
||||
|
||||
[TextLog reference](./widgets/text_log.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/text_log.py" press="_,H,i"}
|
||||
```
|
||||
|
||||
## Tree
|
||||
|
||||
A tree control with expandable nodes.
|
||||
|
||||
[Tree reference](./widgets/tree.md){ .md-button .md-button--primary }
|
||||
|
||||
```{.textual path="docs/examples/widgets/tree.py"}
|
||||
```
|
||||
Reference in New Issue
Block a user