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

Center(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: Widget

A container which aligns children on the X 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

Container

Container(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: Widget

Simple container widget, with vertical layout.

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

Grid

Grid(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: Widget

A container with grid layout.

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

Horizontal

Horizontal(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: Widget

A container with horizontal layout and no scrollbars.

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

HorizontalScroll

HorizontalScroll(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: ScrollableContainer

A container with horizontal layout and an automatic scrollbar on the X 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

Middle

Middle(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: Widget

A container which aligns children on the Y 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

ScrollableContainer

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

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

BINDINGS class-attribute

BINDINGS = [
    Binding("up", "scroll_up", "Scroll Up", show=False),
    Binding(
        "down", "scroll_down", "Scroll Down", show=False
    ),
    Binding("left", "scroll_left", "Scroll Up", 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

Vertical(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: Widget

A container with vertical layout and no scrollbars.

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

VerticalScroll

VerticalScroll(
    *children,
    name=None,
    id=None,
    classes=None,
    disabled=False,
)

Bases: ScrollableContainer

A container with vertical layout and an automatic scrollbar on the Y 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