Welcome to the Textual widget gallery.
We have many more widgets planned, or you can build your own.
Info
Textual is a TUI framework. Everything below runs in the terminal.
A simple button with a variety of semantic styles.
Button reference
Checkbox
A classic checkbox control.
Checkbox reference
Collapsible
Content that may be toggled on and off by clicking a title.
Collapsible reference
ContentSwitcher
A widget for containing and switching display between multiple child
widgets.
ContentSwitcher reference
DataTable
A powerful data table, with configurable cursors.
DataTable reference
Digits
Display numbers in tall characters.
Digits reference
DirectoryTree
A tree view of files and folders.
DirectoryTree reference
A footer to display and interact with key bindings.
Footer reference
A header to display the app's title and subtitle.
Header reference
A control to enter text.
Input reference
Label
A simple text label.
Label reference
Link
A clickable link that opens a URL.
Link reference
ListView
Display a list of items (items may be other widgets).
ListView reference
LoadingIndicator
Display an animation while data is loading.
LoadingIndicator reference
Log
Display and update lines of text (such as from a file).
Log reference
MarkdownViewer
Display and interact with a Markdown document (adds a table of contents and browser-like navigation to Markdown).
MarkdownViewer reference
Markdown
Display a markdown document.
Markdown reference
A control to enter input according to a template mask.
MaskedInput reference
OptionList
Display a vertical list of options (options may be Rich renderables).
OptionList reference
Placeholder
Display placeholder content while you are designing a UI.
Placeholder reference
Pretty
Display a pretty-formatted Rich renderable.
Pretty reference
ProgressBar
A configurable progress bar with ETA and percentage complete.
ProgressBar reference
A simple radio button.
RadioButton reference
RadioSet
A collection of radio buttons, that enforces uniqueness.
RadioSet reference
RichLog
Display and update text in a scrolling panel.
RichLog reference
Rule
A rule widget to separate content, similar to a <hr>
HTML tag.
Rule reference
Select
Select from a number of possible options.
Select reference
SelectionList
Select multiple values from a list of options.
SelectionList reference
Sparkline
Display numerical data.
Sparkline reference
Static
Displays simple static content. Typically used as a base class.
Static reference
Switch
An on / off control, inspired by toggle buttons.
Switch reference
Tabs
A row of tabs you can select with the mouse or navigate with keys.
Tabs reference
TabbedContent
A Combination of Tabs and ContentSwitcher to navigate static content.
TabbedContent reference
TextArea
A multi-line text area which supports syntax highlighting various languages.
TextArea reference
Tree
A tree control with expandable nodes.
Tree reference