Qt 5.9 | Qt Quick Controls 2 | QML Types | Slider QML Type

Qt 5.9.2 Reference Documentation

# Slider QML Type

Used to select a value by sliding a handle along a track. More...

Import Statement: | import QtQuick.Controls 2.2
Since: | Qt 5.7
Inherits: | Control

- List of all members, including inherited members

## Properties

- from : real
- handle : Item
- live : bool
- orientation : enumeration
- position : real
- pressed : bool
- snapMode : enumeration
- stepSize : real
- to : real
- value : real
- visualPosition : real

## Signals

- void moved()

## Methods

- void decrease()
- void increase()
- real valueAt(real position)

## Detailed Description

Slider is used to select a value by sliding a handle along a track.

In the example below, custom from, value, and to values are set:

      Slider {
          from: 1
          value: 25
          to: 100
      }

The position property is expressed as a fraction of the control's size, in the range `0.0 - 1.0`. The visualPosition property is the same, except that it is reversed in a right-to-left application. The visualPosition is useful for positioning the handle when styling Slider. In the example above, visualPosition will be `0.24` in a left-to-right application, and `0.76` in a right-to-left application.

See also Customizing Slider and Input Controls.

## Property Documentation

from : real

This property holds the starting value for the range. The default value is `0.0`.

See also to and value.

handle : Item

This property holds the handle item.

See also Customizing Slider.

live : bool

This property holds whether the slider provides live updates for the value property while the handle is dragged.

The default value is `true`.

This QML property was introduced in QtQuick.Controls 2.2 (Qt 5.9).

See also value and valueAt().

orientation : enumeration

This property holds the orientation.

Possible values:

Constant | Description
--- | ---
`Qt.Horizontal` | Horizontal (default)
`Qt.Vertical` | Vertical

[read-only] position : real

This property holds the logical position of the handle.

The position is expressed as a fraction of the control's size, in the range `0.0 - 1.0`. For visualizing a slider, the right-to-left aware visualPosition should be used instead.

See also value, visualPosition, and valueAt().

pressed : bool

This property holds whether the slider is pressed.

snapMode : enumeration

This property holds the snap mode.

Possible values:

Constant | Description
--- | ---
`Slider.NoSnap` | The slider does not snap (default).
`Slider.SnapAlways` | The slider snaps while the handle is dragged.
`Slider.SnapOnRelease` | The slider does not snap while being dragged, but only after the handle is released.

In the following table, the various modes are illustrated with animations. The movement of the mouse cursor and the stepSize (`0.2`) are identical in each animation.

Value | Example
`Slider.NoSnap` |
`Slider.SnapAlways` |
`Slider.SnapOnRelease` |

See also stepSize.

stepSize : real

This property holds the step size. The default value is `0.0`.

See also snapMode, increase(), and decrease().

to : real

This property holds the end value for the range. The default value is `1.0`.

See also from and value.

value : real

This property holds the value in the range `from` - `to`. The default value is `0.0`.

See also position.

[read-only] visualPosition : real

This property holds the visual position of the handle.

The position is expressed as a fraction of the control's size, in the range `0.0 - 1.0`. When the control is mirrored, the value is equal to `1.0 - position`. This makes the value suitable for visualizing the slider, taking right-to-left support into account.

See also position.

## Signal Documentation

void moved()

This signal is emitted when the slider has been interactively moved by the user by either touch, mouse, wheel, or keys.

This QML signal was introduced in QtQuick.Controls 2.2 (Qt 5.9).

## Method Documentation

void decrease()

Decreases the value by stepSize or `0.1` if stepSize is not defined.

See also stepSize.

void increase()

Increases the value by stepSize or `0.1` if stepSize is not defined.

See also stepSize.

real valueAt(real position)

Returns the value for the given position.

This QML method was introduced in QtQuick.Controls 2.1 (Qt 5.8).

See also value and position.