Widget
The base class for widgets.
AwaitMount
class
¶
BadWidgetName
class
¶
Bases: Exception
Raised when widget class names do not satisfy the required restrictions.
MountError
class
¶
Bases: WidgetError
Error raised when there was a problem with the mount request.
PseudoClasses
class
¶
Bases: NamedTuple
Used for render/render_line based widgets that use caching. This structure can be used as a cache-key.
Widget
class
¶
Bases: DOMNode
A Widget is the base class for Textual widgets.
See also static for starting point for your own widgets.
Parameters
Parameter | Default | Description |
---|---|---|
*children
Widget
|
()
|
Child widgets. |
name
str | None
|
None
|
The name of the widget. |
id
str | None
|
None
|
The ID of the widget in the DOM. |
classes
str | None
|
None
|
The CSS classes for the widget. |
disabled
bool
|
False
|
Whether the widget is disabled or not. |
BORDER_SUBTITLE
class-attribute
¶
Initial value for border_subtitle attribute.
allow_horizontal_scroll
property
¶
Check if horizontal scroll is permitted.
May be overridden if you want different logic regarding allowing scrolling.
allow_vertical_scroll
property
¶
Check if vertical scroll is permitted.
May be overridden if you want different logic regarding allowing scrolling.
auto_links
instance-attribute
class-attribute
¶
Widget will highlight links automatically.
border_subtitle
instance-attribute
class-attribute
¶
A title to show in the bottom border (if there is one).
border_title
instance-attribute
class-attribute
¶
A title to show in the top border (if there is one).
can_focus_children
instance-attribute
class-attribute
¶
Widget's children may receive focus.
container_size
property
¶
container_viewport
property
¶
The viewport region (parent window).
Returns
Type | Description |
---|---|
Region
|
The region that contains this widget. |
content_offset
property
¶
An offset from the Widget origin where the content begins.
Returns
Type | Description |
---|---|
Offset
|
Offset from widget's origin. |
content_region
property
¶
Gets an absolute region containing the content (minus padding and border).
Returns
Type | Description |
---|---|
Region
|
Screen region that contains a widget's content. |
content_size
property
¶
disabled
instance-attribute
class-attribute
¶
Is the widget disabled? Disabled widgets can not be interacted with, and are typically styled to look dimmer.
dock_gutter
property
¶
Space allocated to docks in the parent.
Returns
Type | Description |
---|---|
Spacing
|
Space to be subtracted from scrollable area. |
expand
instance-attribute
class-attribute
¶
Rich renderable may expand beyond optimal size.
gutter
property
¶
Spacing for padding / border / scrollbars.
Returns
Type | Description |
---|---|
Spacing
|
Additional spacing around content area. |
has_focus
instance-attribute
class-attribute
¶
Does this widget have focus? Read only.
highlight_link_id
instance-attribute
class-attribute
¶
The currently highlighted link id. Read only.
horizontal_scrollbar
property
¶
The horizontal scrollbar.
Note
This will create a scrollbar if one doesn't exist.
Returns
Type | Description |
---|---|
ScrollBar
|
ScrollBar Widget. |
hover_style
instance-attribute
class-attribute
¶
The current hover style (style under the mouse cursor). Read only.
is_horizontal_scroll_end
property
¶
Is the horizontal scroll position at the maximum?
is_horizontal_scrollbar_grabbed
property
¶
Is the user dragging the vertical scrollbar?
is_vertical_scroll_end
property
¶
Is the vertical scroll position at the maximum?
is_vertical_scrollbar_grabbed
property
¶
Is the user dragging the vertical scrollbar?
layer
property
¶
layers
property
¶
link_style_hover
property
¶
loading
instance-attribute
class-attribute
¶
If set to True
this widget will temporarily be replaced with a loading indicator.
lock
instance-attribute
¶
asyncio
lock to be used to synchronize the state of the widget.
Two different tasks might call methods on a widget at the same time, which
might result in a race condition.
This can be fixed by adding async with widget.lock:
around the method calls.
mouse_over
instance-attribute
class-attribute
¶
Is the mouse over this widget? Read only.
offset
writable
property
¶
outer_size
property
¶
region
property
¶
scroll_offset
property
¶
Get the current scroll offset.
Returns
Type | Description |
---|---|
Offset
|
Offset a container has been scrolled by. |
scroll_x
instance-attribute
class-attribute
¶
The scroll position on the X axis.
scroll_y
instance-attribute
class-attribute
¶
The scroll position on the Y axis.
scrollable_content_region
property
¶
Gets an absolute region containing the scrollable content (minus padding, border, and scrollbars).
Returns
Type | Description |
---|---|
Region
|
Screen region that contains a widget's content. |
scrollbar_corner
property
¶
The scrollbar corner.
Note
This will create a scrollbar corner if one doesn't exist.
Returns
Type | Description |
---|---|
ScrollBarCorner
|
ScrollBarCorner Widget. |
scrollbar_gutter
property
¶
scrollbar_size_horizontal
property
¶
Get the height used by the horizontal scrollbar.
Returns
Type | Description |
---|---|
int
|
Number of rows in the horizontal scrollbar. |
scrollbar_size_vertical
property
¶
Get the width used by the vertical scrollbar.
Returns
Type | Description |
---|---|
int
|
Number of columns in the vertical scrollbar. |
scrollbars_enabled
property
¶
scrollbars_space
property
¶
The number of cells occupied by scrollbars for width and height
show_horizontal_scrollbar
instance-attribute
class-attribute
¶
Show a horizontal scrollbar?
show_vertical_scrollbar
instance-attribute
class-attribute
¶
Show a vertical scrollbar?
shrink
instance-attribute
class-attribute
¶
Rich renderable may shrink below optimal size.
siblings
property
¶
size
property
¶
tooltip
writable
property
¶
Tooltip for the widget, or None
for no tooltip.
vertical_scrollbar
property
¶
The vertical scrollbar (create if necessary).
Note
This will create a scrollbar if one doesn't exist.
Returns
Type | Description |
---|---|
ScrollBar
|
ScrollBar Widget. |
virtual_region
property
¶
The widget region relative to it's container (which may not be visible, depending on scroll offset).
Returns
Type | Description |
---|---|
Region
|
The virtual region. |
virtual_region_with_margin
property
¶
The widget region relative to its container (including margin), which may not be visible, depending on the scroll offset.
Returns
Type | Description |
---|---|
Region
|
The virtual region of the Widget, inclusive of its margin. |
visible_siblings
property
¶
window_region
property
¶
The region within the scrollable area that is currently visible.
Returns
Type | Description |
---|---|
Region
|
New region. |
allow_focus
method
¶
allow_focus_children
method
¶
Check if a widget's children may be focused.
The base class returns can_focus_children
.
This method maybe overridden if additional logic is required.
Returns
Type | Description |
---|---|
bool
|
|
animate
method
¶
def animate(
self,
attribute,
value,
*,
final_value=...,
duration=None,
speed=None,
delay=0.0,
easing=DEFAULT_EASING,
on_complete=None,
level="full"
):
Animate an attribute.
Parameters
Parameter | Default | Description |
---|---|---|
attribute
str
|
required | Name of the attribute to animate. |
value
float | Animatable
|
required | The value to animate to. |
final_value
object
|
...
|
The final value of the animation. Defaults to |
duration
float | None
|
None
|
The duration (in seconds) of the animation. |
speed
float | None
|
None
|
The speed of the animation. |
delay
float
|
0.0
|
A delay (in seconds) before the animation starts. |
easing
EasingFunction | str
|
DEFAULT_EASING
|
An easing method. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'full'
|
Minimum level required for the animation to take place (inclusive). |
batch
async
¶
Async context manager that combines widget locking and update batching.
Use this async context manager whenever you want to acquire the widget lock and batch app updates at the same time.
begin_capture_print
method
¶
Capture text from print statements (or writes to stdout / stderr).
If printing is captured, the widget will be sent an events.Print
message.
Call end_capture_print
to disable print capture.
Parameters
Parameter | Default | Description |
---|---|---|
stdout
bool
|
True
|
Whether to capture stdout. |
stderr
bool
|
True
|
Whether to capture stderr. |
blur
method
¶
Blur (un-focus) the widget.
Focus will be moved to the next available widget in the focus chain..
Returns
Type | Description |
---|---|
Self
|
The |
can_view
method
¶
Check if a given widget is in the current view (scrollable area).
Note: This doesn't necessarily equate to a widget being visible. There are other reasons why a widget may not be visible.
Parameters
Parameter | Default | Description |
---|---|---|
widget
Widget
|
required | A widget that is a descendant of self. |
Returns
Type | Description |
---|---|
bool
|
True if the entire widget is in view, False if it is partially visible or not in view. |
capture_mouse
method
¶
Capture (or release) the mouse.
When captured, mouse events will go to this widget even when the pointer is not directly over the widget.
Parameters
Parameter | Default | Description |
---|---|---|
capture
bool
|
True
|
True to capture or False to release. |
check_message_enabled
method
¶
clear_cached_dimensions
method
¶
Clear cached results of get_content_width
and get_content_height
.
Call if the widget's renderable changes size after the widget has been created.
Note
This is not required if you are extending Static
.
compose
method
¶
Called by Textual to create child widgets.
This method is called when a widget is mounted or by setting recompose=True
when
calling refresh()
.
Note that you don't typically need to explicitly call this method.
compose_add_child
method
¶
Add a node to children.
This is used by the compose process when it adds children. There is no need to use it directly, but you may want to override it in a subclass if you want children to be attached to a different node.
Parameters
Parameter | Default | Description |
---|---|---|
widget
Widget
|
required | A Widget to add. |
end_capture_print
method
¶
End print capture (set with begin_capture_print
).
focus
method
¶
Give focus to this widget.
Parameters
Parameter | Default | Description |
---|---|---|
scroll_visible
bool
|
True
|
Scroll parent to make this widget visible. |
Returns
Type | Description |
---|---|
Self
|
The |
get_child_by_id
method
¶
Return the first child (immediate descendent) of this node with the given ID.
Parameters
Parameter | Default | Description |
---|---|---|
id
str
|
required | The ID of the child. |
expect_type
type[ExpectType] | None
|
None
|
Require the object be of the supplied type, or None for any type. |
Returns
Type | Description |
---|---|
ExpectType | Widget
|
The first child of this node with the ID. |
Raises
Type | Description |
---|---|
NoMatches
|
if no children could be found for this ID |
WrongType
|
if the wrong type was found. |
get_child_by_type
method
¶
Get the first immediate child of a given type.
Only returns exact matches, and so will not match subclasses of the given type.
Parameters
Parameter | Default | Description |
---|---|---|
expect_type
type[ExpectType]
|
required | The type of the child to search for. |
Raises
Type | Description |
---|---|
NoMatches
|
If no matching child is found. |
Returns
Type | Description |
---|---|
ExpectType
|
The first immediate child widget with the expected type. |
get_component_rich_style
method
¶
get_content_height
method
¶
Called by Textual to get the height of the content area. May be overridden in a subclass.
Parameters
Parameter | Default | Description |
---|---|---|
container
Size
|
required | Size of the container (immediate parent) widget. |
viewport
Size
|
required | Size of the viewport. |
width
int
|
required | Width of renderable. |
Returns
Type | Description |
---|---|
int
|
The height of the content. |
get_content_width
method
¶
Called by textual to get the width of the content area. May be overridden in a subclass.
Parameters
Parameter | Default | Description |
---|---|---|
container
Size
|
required | Size of the container (immediate parent) widget. |
viewport
Size
|
required | Size of the viewport. |
Returns
Type | Description |
---|---|
int
|
The optimal width of the content. |
get_loading_widget
method
¶
Get a widget to display a loading indicator.
The default implementation will defer to App.get_loading_widget.
Returns
Type | Description |
---|---|
Widget
|
A widget in place of this widget to indicate a loading. |
get_pseudo_class_state
method
¶
Get an object describing whether each pseudo class is present on this object or not.
Returns
Type | Description |
---|---|
PseudoClasses
|
A PseudoClasses object describing the pseudo classes that are present. |
get_pseudo_classes
method
¶
get_style_at
method
¶
get_widget_by_id
method
¶
Return the first descendant widget with the given ID.
Performs a depth-first search rooted at this widget.
Parameters
Parameter | Default | Description |
---|---|---|
id
str
|
required | The ID to search for in the subtree. |
expect_type
type[ExpectType] | None
|
None
|
Require the object be of the supplied type, or None for any type. |
Returns
Type | Description |
---|---|
ExpectType | Widget
|
The first descendant encountered with this ID. |
Raises
Type | Description |
---|---|
NoMatches
|
if no children could be found for this ID. |
WrongType
|
if the wrong type was found. |
mount
method
¶
Mount widgets below this widget (making this widget a container).
Parameters
Parameter | Default | Description |
---|---|---|
*widgets
Widget
|
()
|
The widget(s) to mount. |
before
int | str | Widget | None
|
None
|
Optional location to mount before. An |
after
int | str | Widget | None
|
None
|
Optional location to mount after. An |
Returns
Type | Description |
---|---|
AwaitMount
|
An awaitable object that waits for widgets to be mounted. |
Raises
Type | Description |
---|---|
MountError
|
If there is a problem with the mount request. |
Note
Only one of before
or after
can be provided. If both are
provided a MountError
will be raised.
mount_all
method
¶
Mount widgets from an iterable.
Parameters
Parameter | Default | Description |
---|---|---|
widgets
Iterable[Widget]
|
required | An iterable of widgets. |
before
int | str | Widget | None
|
None
|
Optional location to mount before. An |
after
int | str | Widget | None
|
None
|
Optional location to mount after. An |
Returns
Type | Description |
---|---|
AwaitMount
|
An awaitable object that waits for widgets to be mounted. |
Raises
Type | Description |
---|---|
MountError
|
If there is a problem with the mount request. |
Note
Only one of before
or after
can be provided. If both are
provided a MountError
will be raised.
mount_composed_widgets
async
¶
move_child
method
¶
Move a child widget within its parent's list of children.
Parameters
Parameter | Default | Description |
---|---|---|
child
int | Widget
|
required | The child widget to move. |
before
int | Widget | None
|
None
|
Child widget or location index to move before. |
after
int | Widget | None
|
None
|
Child widget or location index to move after. |
Raises
Type | Description |
---|---|
WidgetError
|
If there is a problem with the child or target. |
Note
Only one of before
or after
can be provided. If neither
or both are provided a WidgetError
will be raised.
notify
method
¶
Create a notification.
Tip
This method is thread-safe.
Parameters
Parameter | Default | Description |
---|---|---|
message
str
|
required | The message for the notification. |
title
str
|
''
|
The title for the notification. |
severity
SeverityLevel
|
'information'
|
The severity of the notification. |
timeout
float
|
Notification.timeout
|
The timeout (in seconds) for the notification. |
See App.notify
for the full
documentation for this method.
post_message
method
¶
post_render
method
¶
Applies style attributes to the default renderable.
Returns
Type | Description |
---|---|
ConsoleRenderable
|
A new renderable. |
recompose
async
¶
Recompose the widget.
Recomposing will remove children and call self.compose
again to remount.
refresh
method
¶
Initiate a refresh of the widget.
This method sets an internal flag to perform a refresh, which will be done on the next idle event. Only one refresh will be done even if this method is called multiple times.
By default this method will cause the content of the widget to refresh, but not change its size. You can also
set layout=True
to perform a layout.
Warning
It is rarely necessary to call this method explicitly. Updating styles or reactive attributes will do this automatically.
Parameters
Parameter | Default | Description |
---|---|---|
*regions
Region
|
()
|
Additional screen regions to mark as dirty. |
repaint
bool
|
True
|
Repaint the widget (will call render() again). |
layout
bool
|
False
|
Also layout widgets in the view. |
recompose
bool
|
False
|
Re-compose the widget (will remove and re-mount children). |
Returns
Type | Description |
---|---|
Self
|
The |
release_mouse
method
¶
Release the mouse.
Mouse events will only be sent when the mouse is over the widget.
remove
method
¶
Remove the Widget from the DOM (effectively deleting it).
Returns
Type | Description |
---|---|
AwaitRemove
|
An awaitable object that waits for the widget to be removed. |
remove_children
method
¶
Remove the immediate children of this Widget from the DOM.
Parameters
Parameter | Default | Description |
---|---|---|
selector
str | type[QueryType]
|
'*'
|
A CSS selector to specify which direct children to remove. |
Returns
Type | Description |
---|---|
AwaitRemove
|
An awaitable object that waits for the direct children to be removed. |
render
method
¶
Get text or Rich renderable for this widget.
Implement this for custom widgets.
Example
Returns
Type | Description |
---|---|
RenderResult
|
Any renderable. |
render_line
method
¶
render_lines
method
¶
render_str
method
¶
run_action
async
¶
Perform a given action, with this widget as the default namespace.
Parameters
Parameter | Default | Description |
---|---|---|
action
str
|
required | Action encoded as a string. |
scroll_down
method
¶
def scroll_down(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one line down.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_end
method
¶
def scroll_end(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll to the end of the container.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_home
method
¶
def scroll_home(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll to home position.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_left
method
¶
def scroll_left(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one cell left.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_page_down
method
¶
def scroll_page_down(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one page down.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_page_left
method
¶
def scroll_page_left(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one page left.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_page_right
method
¶
def scroll_page_right(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one page right.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_page_up
method
¶
def scroll_page_up(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one page up.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_relative
method
¶
def scroll_relative(
self,
x=None,
y=None,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll relative to current position.
Parameters
Parameter | Default | Description |
---|---|---|
x
float | None
|
None
|
X distance (columns) to scroll, or |
y
float | None
|
None
|
Y distance (rows) to scroll, or |
animate
bool
|
True
|
Animate to new scroll position. |
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if animate is |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_right
method
¶
def scroll_right(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one cell right.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_to
method
¶
def scroll_to(
self,
x=None,
y=None,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll to a given (absolute) coordinate, optionally animating.
Parameters
Parameter | Default | Description |
---|---|---|
x
float | None
|
None
|
X coordinate (column) to scroll to, or |
y
float | None
|
None
|
Y coordinate (row) to scroll to, or |
animate
bool
|
True
|
Animate to new scroll position. |
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
Note
The call to scroll is made after the next refresh.
scroll_to_center
method
¶
def scroll_to_center(
self,
widget,
animate=True,
*,
speed=None,
duration=None,
easing=None,
force=False,
origin_visible=True,
on_complete=None,
level="basic"
):
Scroll this widget to the center of self.
The center of the widget will be scrolled to the center of the container.
Parameters
Parameter | Default | Description |
---|---|---|
widget
Widget
|
required | The widget to scroll to the center of self. |
animate
bool
|
True
|
Whether to animate the scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
origin_visible
bool
|
True
|
Ensure that the top left corner of the widget remains visible after the scroll. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_to_region
method
¶
def scroll_to_region(
self,
region,
*,
spacing=None,
animate=True,
speed=None,
duration=None,
easing=None,
center=False,
top=False,
origin_visible=True,
force=False,
on_complete=None,
level="basic"
):
Scrolls a given region in to view, if required.
This method will scroll the least distance required to move region
fully within
the scrollable area.
Parameters
Parameter | Default | Description |
---|---|---|
region
Region
|
required | A region that should be visible. |
spacing
Spacing | None
|
None
|
Optional spacing around the region. |
animate
bool
|
True
|
|
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
top
bool
|
False
|
Scroll |
origin_visible
bool
|
True
|
Ensure that the top left of the widget is within the window. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
Returns
Type | Description |
---|---|
Offset
|
The distance that was scrolled. |
scroll_to_widget
method
¶
def scroll_to_widget(
self,
widget,
*,
animate=True,
speed=None,
duration=None,
easing=None,
center=False,
top=False,
origin_visible=True,
force=False,
on_complete=None,
level="basic"
):
Scroll scrolling to bring a widget in to view.
Parameters
Parameter | Default | Description |
---|---|---|
widget
Widget
|
required | A descendant widget. |
animate
bool
|
True
|
|
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
top
bool
|
False
|
Scroll widget to top of container. |
origin_visible
bool
|
True
|
Ensure that the top left of the widget is within the window. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
Returns
Type | Description |
---|---|
bool
|
|
scroll_up
method
¶
def scroll_up(
self,
*,
animate=True,
speed=None,
duration=None,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll one line up.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if |
duration
float | None
|
None
|
Duration of animation, if |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
scroll_visible
method
¶
def scroll_visible(
self,
animate=True,
*,
speed=None,
duration=None,
top=False,
easing=None,
force=False,
on_complete=None,
level="basic"
):
Scroll the container to make this widget visible.
Parameters
Parameter | Default | Description |
---|---|---|
animate
bool
|
True
|
Animate scroll. |
speed
float | None
|
None
|
Speed of scroll if animate is |
duration
float | None
|
None
|
Duration of animation, if |
top
bool
|
False
|
Scroll to top of container. |
easing
EasingFunction | str | None
|
None
|
An easing method for the scrolling animation. |
force
bool
|
False
|
Force scrolling even when prohibited by overflow styling. |
on_complete
CallbackType | None
|
None
|
A callable to invoke when the animation is finished. |
level
AnimationLevel
|
'basic'
|
Minimum level required for the animation to take place (inclusive). |
set_loading
method
¶
Set or reset the loading state of this widget.
A widget in a loading state will display a LoadingIndicator that obscures the widget.
Parameters
Parameter | Default | Description |
---|---|---|
loading
bool
|
required |
|
Returns
Type | Description |
---|---|
Awaitable
|
An optional awaitable. |
stop_animation
async
¶
watch_disabled
method
¶
Update the styles of the widget and its children when disabled is toggled.
watch_has_focus
method
¶
Update from CSS if has focus state changes.
watch_mouse_over
method
¶
Update from CSS if mouse over state changes.