Scrollable
- class Scrollable(*args, **kwargs)
Implementations: ColumnView
, GridView
, IconView
, ListBase
, ListView
, TextView
, TreeView
, Viewport
GtkScrollable
is an interface for widgets with native scrolling ability.
To implement this interface you should override the
hadjustment
and
vadjustment
properties.
Creating a scrollable widget
All scrollable widgets should do the following.
When a parent widget sets the scrollable child widget’s adjustments, the widget should connect to the
value_changed
signal. The child widget should then populate the adjustments’ properties as soon as possible, which usually means queueing an allocation right away and populating the properties in thesize_allocate
implementation.Because its preferred size is the size for a fully expanded widget, the scrollable widget must be able to cope with underallocations. This means that it must accept any value passed to its
size_allocate
implementation.When the parent allocates space to the scrollable child widget, the widget must ensure the adjustments’ property values are correct and up to date, for example using
configure
.When any of the adjustments emits the
value_changed
signal, the scrollable widget should scroll its contents.
Methods
- class Scrollable
- get_border() tuple[bool, Border]
Returns the size of a non-scrolling border around the outside of the scrollable.
An example for this would be treeview headers. GTK can use this information to display overlaid graphics, like the overshoot indication, at the right position.
- get_hadjustment() Adjustment | None
Retrieves the
GtkAdjustment
used for horizontal scrolling.
- get_hscroll_policy() ScrollablePolicy
Gets the horizontal
GtkScrollablePolicy
.
- get_vadjustment() Adjustment | None
Retrieves the
GtkAdjustment
used for vertical scrolling.
- get_vscroll_policy() ScrollablePolicy
Gets the vertical
GtkScrollablePolicy
.
- set_hadjustment(hadjustment: Adjustment | None = None) None
Sets the horizontal adjustment of the
GtkScrollable
.- Parameters:
hadjustment – a
GtkAdjustment
- set_hscroll_policy(policy: ScrollablePolicy) None
Sets the
GtkScrollablePolicy
.The policy determines whether horizontal scrolling should start below the minimum width or below the natural width.
- Parameters:
policy – the horizontal
GtkScrollablePolicy
- set_vadjustment(vadjustment: Adjustment | None = None) None
Sets the vertical adjustment of the
GtkScrollable
.- Parameters:
vadjustment – a
GtkAdjustment
- set_vscroll_policy(policy: ScrollablePolicy) None
Sets the
GtkScrollablePolicy
.The policy determines whether vertical scrolling should start below the minimum height or below the natural height.
- Parameters:
policy – the vertical
GtkScrollablePolicy
Properties
- class Scrollable
- props.hadjustment: Adjustment
Horizontal
GtkAdjustment
of the scrollable widget.This adjustment is shared between the scrollable widget and its parent.
- props.hscroll_policy: ScrollablePolicy
Determines when horizontal scrolling should start.
- props.vadjustment: Adjustment
Vertical
GtkAdjustment
of the scrollable widget.This adjustment is shared between the scrollable widget and its parent.
- props.vscroll_policy: ScrollablePolicy
Determines when vertical scrolling should start.