- Qt 6.9
- Qt Quick Controls
- QML Types
- Slider
- Qt 6.9.1 Reference Documentation

# Slider QML Type

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

Import Statement: | `import QtQuick.Controls`
Inherits: | Control

- List of all members, including inherited members

## Properties

- from : real
- handle : Item
- horizontal : bool `(since QtQuick.Controls 2.3 (Qt 5.10))`
- implicitHandleHeight : real `(since QtQuick.Controls 2.5 (Qt 5.12))`
- implicitHandleWidth : real `(since QtQuick.Controls 2.5 (Qt 5.12))`
- live : bool `(since QtQuick.Controls 2.2 (Qt 5.9))`
- orientation : enumeration
- position : real
- pressed : bool
- snapMode : enumeration
- stepSize : real
- to : real
- touchDragThreshold : real `(since QtQuick.Controls 2.5 (Qt 5.12))`
- value : real
- vertical : bool `(since QtQuick.Controls 2.3 (Qt 5.10))`
- visualPosition : real

## Signals

- moved() `(since QtQuick.Controls 2.2 (Qt 5.9))`

## Methods

- void decrease()
- void increase()
- real valueAt(real position) `(since QtQuick.Controls 2.1 (Qt 5.8))`

## 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.

For a slider that allows the user to select a range by providing two handles, see RangeSlider.

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.

horizontal : bool `[read-only, since QtQuick.Controls 2.3 (Qt 5.10)]`

This property holds whether the slider is horizontal.

This property was introduced in QtQuick.Controls 2.3 (Qt 5.10).

See also orientation.

implicitHandleHeight : real `[read-only, since QtQuick.Controls 2.5 (Qt 5.12)]`

This property holds the implicit handle height.

The value is equal to `handle ? handle.implicitHeight : 0`.

This is typically used, together with implicitContentHeight and implicitBackgroundHeight, to calculate the implicitHeight.

This property was introduced in QtQuick.Controls 2.5 (Qt 5.12).

See also implicitHandleWidth.

implicitHandleWidth : real `[read-only, since QtQuick.Controls 2.5 (Qt 5.12)]`

This property holds the implicit handle width.

The value is equal to `handle ? handle.implicitWidth : 0`.

This is typically used, together with implicitContentWidth and implicitBackgroundWidth, to calculate the implicitWidth.

This property was introduced in QtQuick.Controls 2.5 (Qt 5.12).

See also implicitHandleHeight.

live : bool `[since QtQuick.Controls 2.2 (Qt 5.9)]`

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

The default value is `true`.

This 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

See also horizontal and vertical.

position : real `[read-only]`

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 by either touch, mouse, or keys.

snapMode : enumeration

This property holds the snap mode.

The snap mode determines how the slider handle behaves with regards to the stepSize.

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.

touchDragThreshold : real `[since QtQuick.Controls 2.5 (Qt 5.12)]`

This property holds the threshold (in logical pixels) at which a touch drag event will be initiated. The mouse drag threshold won't be affected. The default value is `Application.styleHints.startDragDistance`.

This property was introduced in QtQuick.Controls 2.5 (Qt 5.12).

See also QStyleHints.

value : real

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

See also position.

vertical : bool `[read-only, since QtQuick.Controls 2.3 (Qt 5.10)]`

This property holds whether the slider is vertical.

This property was introduced in QtQuick.Controls 2.3 (Qt 5.10).

See also orientation.

visualPosition : real `[read-only]`

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

`[since QtQuick.Controls 2.2 (Qt 5.9)]` moved()

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

Note: The corresponding handler is `onMoved`.

This 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.

`[since QtQuick.Controls 2.1 (Qt 5.8)]` real valueAt(real position)

Returns the value for the given position.

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

See also value and position.