Skip to content

textual.containers

Container widgets for quick styling.

With the exception of Center and Middle containers will fill all of the space in the parent widget.

Center

Bases: Widget

A container which aligns children on the X axis.

Container

Bases: Widget

Simple container widget, with vertical layout.

Grid

Bases: Widget

A container with grid layout.

Horizontal

Bases: Widget

An expanding container with horizontal layout and no scrollbars.

HorizontalGroup

Bases: Widget

A non-expanding container with horizontal layout and no scrollbars.

HorizontalScroll

Bases: ScrollableContainer

A container with horizontal layout and an automatic scrollbar on the X axis.

ItemGrid

ItemGrid(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
    min_column_width=None,
    stretch_height=True,
    regular=False
)

Bases: Widget

A container with grid layout and automatic columns.

Parameters:

Name Type Description Default
*children Widget

Child widgets.

()
name str | None

The name of the widget.

None
id str | None

The ID of the widget in the DOM.

None
classes str | None

The CSS classes for the widget.

None
disabled bool

Whether the widget is disabled or not.

False
stretch_height bool

Expand the height of widgets to the row height.

True
min_column_width int | None

The smallest permitted column width.

None
regular bool

All rows should have the same number of items.

False

Middle

Bases: Widget

A container which aligns children on the Y axis.

Right

Bases: Widget

A container which aligns children on the X axis.

ScrollableContainer

ScrollableContainer(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
    can_focus=None,
    can_focus_children=None,
    can_maximize=None
)

Bases: Widget

A scrollable container with vertical layout, and auto scrollbars on both axis.

Parameters:

Name Type Description Default
*children Widget

Child widgets.

()
name str | None

The name of the widget.

None
id str | None

The ID of the widget in the DOM.

None
classes str | None

The CSS classes for the widget.

None
disabled bool

Whether the widget is disabled or not.

False
can_focus bool | None

Can this container be focused?

None
can_focus_children bool | None

Can this container's children be focused?

None
can_maximized

Allow this container to maximize? None to use default logic.,

required

BINDINGS class-attribute

BINDINGS: list[BindingType] = [
    Binding("up", "scroll_up", "Scroll Up", show=False),
    Binding(
        "down", "scroll_down", "Scroll Down", show=False
    ),
    Binding(
        "left", "scroll_left", "Scroll Left", show=False
    ),
    Binding(
        "right", "scroll_right", "Scroll Right", show=False
    ),
    Binding(
        "home", "scroll_home", "Scroll Home", show=False
    ),
    Binding("end", "scroll_end", "Scroll End", show=False),
    Binding("pageup", "page_up", "Page Up", show=False),
    Binding(
        "pagedown", "page_down", "Page Down", show=False
    ),
    Binding(
        "ctrl+pageup", "page_left", "Page Left", show=False
    ),
    Binding(
        "ctrl+pagedown",
        "page_right",
        "Page Right",
        show=False,
    ),
]

Keyboard bindings for scrollable containers.

Key(s) Description
up Scroll up, if vertical scrolling is available.
down Scroll down, if vertical scrolling is available.
left Scroll left, if horizontal scrolling is available.
right Scroll right, if horizontal scrolling is available.
home Scroll to the home position, if scrolling is available.
end Scroll to the end position, if scrolling is available.
pageup Scroll up one page, if vertical scrolling is available.
pagedown Scroll down one page, if vertical scrolling is available.
ctrl+pageup Scroll left one page, if horizontal scrolling is available.
ctrl+pagedown Scroll right one page, if horizontal scrolling is available.

Vertical

Bases: Widget

An expanding container with vertical layout and no scrollbars.

VerticalGroup

Bases: Widget

A non-expanding container with vertical layout and no scrollbars.

VerticalScroll

Bases: ScrollableContainer

A container with vertical layout and an automatic scrollbar on the Y axis.