IMPORTANT: Since version 0.24.0 Textual implemented a native dropdown. I strongly recommend to use the native version. This repository will slowly die. More information at the Blog Post about Select control.
A simple select widget (aka dropdown) for textual with an optional search field.
from textual_select import Select
dropdown_data = [
{"value": 0, "text": "Pick-Up"},
{"value": 1, "text": "SUV"},
{"value": 2, "text": "Hatchback"},
{"value": 3, "text": "Crossover"},
{"value": 4, "text": "Convertible"},
{"value": 5, "text": "Sedan"},
{"value": 6, "text": "Sports Car"},
{"value": 7, "text": "Coupe"},
{"value": 8, "text": "Minivan"}
]
Select(
placeholder="please select",
items=dropdown_data,
list_mount="#main_container"
)
pip install textual-select
Requires textual 0.11.0 or later.
This textual widget is in early stage and has some limitations:
- It needs a specific mount point (
list_mount
) where the dropdown list shall appear. This is needed because the container widget with the select itself could be too small. Maybe in future versions this will no longer needed. - It can only open below, not above: Make sure to reserve space below the dropdown.
- The dropdown list has a fixed height of 5 entries. This will be configurable in future versions.
- If you are looking for an autocomplete, please refer to textual-autocomplete by Darren Burns.