Range

class Range(**properties: Any)

Superclasses: Widget, InitiallyUnowned, Object

Subclasses: Scale

Implemented Interfaces: Accessible, AccessibleRange, Buildable, ConstraintTarget, Orientable

GtkRange is the common base class for widgets which visualize an adjustment.

Widgets that are derived from GtkRange include Scale and Scrollbar.

Apart from signals for monitoring the parameters of the adjustment, GtkRange provides properties and methods for setting a “fill level” on range widgets. See set_fill_level.

Methods

class Range
get_adjustment() Adjustment

Get the adjustment which is the “model” object for GtkRange.

get_fill_level() float

Gets the current position of the fill level indicator.

get_flippable() bool

Gets whether the GtkRange respects text direction.

See set_flippable.

get_inverted() bool

Gets whether the range is inverted.

See set_inverted.

get_range_rect() Rectangle

This function returns the area that contains the range’s trough, in coordinates relative to range’s origin.

This function is useful mainly for GtkRange subclasses.

get_restrict_to_fill_level() bool

Gets whether the range is restricted to the fill level.

get_round_digits() int

Gets the number of digits to round the value to when it changes.

See change_value.

get_show_fill_level() bool

Gets whether the range displays the fill level graphically.

get_slider_range() tuple[int, int]

This function returns sliders range along the long dimension, in widget->window coordinates.

This function is useful mainly for GtkRange subclasses.

get_slider_size_fixed() bool

This function is useful mainly for GtkRange subclasses.

See set_slider_size_fixed.

get_value() float

Gets the current value of the range.

set_adjustment(adjustment: Adjustment) None

Sets the adjustment to be used as the “model” object for the GtkRange

The adjustment indicates the current range value, the minimum and maximum range values, the step/page increments used for keybindings and scrolling, and the page size.

The page size is normally 0 for GtkScale and nonzero for GtkScrollbar, and indicates the size of the visible area of the widget being scrolled. The page size affects the size of the scrollbar slider.

Parameters:

adjustment – a GtkAdjustment

set_fill_level(fill_level: float) None

Set the new position of the fill level indicator.

The “fill level” is probably best described by its most prominent use case, which is an indicator for the amount of pre-buffering in a streaming media player. In that use case, the value of the range would indicate the current play position, and the fill level would be the position up to which the file/stream has been downloaded.

This amount of prebuffering can be displayed on the range’s trough and is themeable separately from the trough. To enable fill level display, use set_show_fill_level. The range defaults to not showing the fill level.

Additionally, it’s possible to restrict the range’s slider position to values which are smaller than the fill level. This is controlled by set_restrict_to_fill_level and is by default enabled.

Parameters:

fill_level – the new position of the fill level indicator

set_flippable(flippable: bool) None

Sets whether the GtkRange respects text direction.

If a range is flippable, it will switch its direction if it is horizontal and its direction is RTL.

See get_direction.

Parameters:

flippableTrue to make the range flippable

set_increments(step: float, page: float) None

Sets the step and page sizes for the range.

The step size is used when the user clicks the GtkScrollbar arrows or moves a GtkScale via arrow keys. The page size is used for example when moving via Page Up or Page Down keys.

Parameters:
  • step – step size

  • page – page size

set_inverted(setting: bool) None

Sets whether to invert the range.

Ranges normally move from lower to higher values as the slider moves from top to bottom or left to right. Inverted ranges have higher values at the top or on the right rather than on the bottom or left.

Parameters:

settingTrue to invert the range

set_range(min: float, max: float) None

Sets the allowable values in the GtkRange.

The range value is clamped to be between min and max. (If the range has a non-zero page size, it is clamped between min and max - page-size.)

Parameters:
  • min – minimum range value

  • max – maximum range value

set_restrict_to_fill_level(restrict_to_fill_level: bool) None

Sets whether the slider is restricted to the fill level.

See set_fill_level for a general description of the fill level concept.

Parameters:

restrict_to_fill_level – Whether the fill level restricts slider movement.

set_round_digits(round_digits: int) None

Sets the number of digits to round the value to when it changes.

See change_value.

Parameters:

round_digits – the precision in digits, or -1

set_show_fill_level(show_fill_level: bool) None

Sets whether a graphical fill level is show on the trough.

See set_fill_level for a general description of the fill level concept.

Parameters:

show_fill_level – Whether a fill level indicator graphics is shown.

set_slider_size_fixed(size_fixed: bool) None

Sets whether the range’s slider has a fixed size, or a size that depends on its adjustment’s page size.

This function is useful mainly for GtkRange subclasses.

Parameters:

size_fixedTrue to make the slider size constant

set_value(value: float) None

Sets the current value of the range.

If the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The range emits the value_changed signal if the value changes.

Parameters:

value – new value of the range

Properties

class Range
props.adjustment: Adjustment

The adjustment that is controlled by the range.

props.fill_level: float

The fill level (e.g. prebuffering of a network stream).

props.inverted: bool

If True, the direction in which the slider moves is inverted.

props.restrict_to_fill_level: bool

Controls whether slider movement is restricted to an upper boundary set by the fill level.

props.round_digits: int

The number of digits to round the value to when it changes.

See change_value.

props.show_fill_level: bool

Controls whether fill level indicator graphics are displayed on the trough.

Signals

class Range.signals
adjust_bounds(value: float) None

Emitted before clamping a value, to give the application a chance to adjust the bounds.

Parameters:

value – the value before we clamp

change_value(scroll: ScrollType, value: float) bool

Emitted when a scroll action is performed on a range.

It allows an application to determine the type of scroll event that occurred and the resultant new value. The application can handle the event itself and return True to prevent further processing. Or, by returning False, it can pass the event to other handlers until the default GTK handler is reached.

The value parameter is unrounded. An application that overrides the ::change-value signal is responsible for clamping the value to the desired number of decimal digits; the default GTK handler clamps the value based on round_digits.

Parameters:
  • scroll – the type of scroll action that was performed

  • value – the new value resulting from the scroll action

move_slider(step: ScrollType) None

Virtual function that moves the slider.

Used for keybindings.

Parameters:

step – how to move the slider

value_changed() None

Emitted when the range value changes.

Virtual Methods

class Range
do_adjust_bounds(new_value: float) None
Parameters:

new_value

do_change_value(scroll: ScrollType, new_value: float) bool
Parameters:
  • scroll

  • new_value

do_get_range_border(border_: Border) None
Parameters:

border

do_move_slider(scroll: ScrollType) None
Parameters:

scroll

do_value_changed() None

Fields

class Range
parent_instance