Dial QML Type

A circular dial that is rotated to set a value. More...

Import Statement: import QtQuick.Controls 2.0
Since: Qt 5.7
Inherits:

Control

Properties

Methods

Detailed Description

The Dial is similar to a traditional dial knob that is found on devices such as stereos or industrial equipment. It allows the user to specify a value within a range.

The value of the dial is set with the value property. The range is set with the from and to properties. To enable or disable wrapping, use the wrap property.

The dial can be manipulated with a keyboard. It supports the following actions:

ActionKey
Decrease value by stepSizeQt.Key_Left
Decrease value by stepSizeQt.Key_Down
Set value to fromQt.Key_Home
Increase value by stepSizeQt.Key_Right
Increase value by stepSizeQt.Key_Up
Set value to toQt.Key_End

See also Customizing Dial and Input Controls.

Property Documentation

[read-only] angle : real

This property holds the angle of the handle.

Like the position property, angle is continuously updated while the handle is dragged.

The range is from -140 degrees to 140 degrees.

See also position.


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 of the dial.

The handle acts as a visual indicator of the position of the dial.

See also Customizing Dial.


[read-only] position : real

This property holds the logical position of the handle.

The position is defined as a percentage of the control's angle range (the range within which the handle can be moved) scaled to 0.0 - 1.0. Unlike the value property, the position is continuously updated while the handle is dragged.

See also value and angle.


pressed : bool

This property holds whether the dial is pressed.

The dial will be pressed when either the mouse is pressed over it, or a key such as Qt.Key_Left is held down. If you'd prefer not to have the dial be pressed upon key presses (due to styling reasons, for example), you can use the Keys attached property:


  Dial {
      Keys.onLeftPressed: {}
  }

This will result in pressed only being true upon mouse presses.


snapMode : enumeration

This property holds the snap mode.

The snap mode works with the stepSize to allow the handle to snap to certain points along the dial.

Possible values:

ConstantDescription
Dial.NoSnapThe dial does not snap (default).
Dial.SnapAlwaysThe dial snaps while the handle is dragged.
Dial.SnapOnReleaseThe dial does not snap while being dragged, but only after the handle is released.

See also stepSize.


stepSize : real

This property holds the step size.

The step size determines the amount by which the dial's value is increased and decreased when interacted with via the keyboard. For example, a step size of 0.2, will result in the dial's value increasing and decreasing in increments of 0.2.

The step size is only respected for touch and mouse interaction when snapMode is set to a value other than Dial.NoSnap.

The default value is 0.0, which results in an effective step size of 0.1 for keyboard interaction.

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.

Unlike the position property, the value is not updated while the handle is dragged. The value is updated after the value has been chosen and the dial has been released.

See also position.


wrap : bool

This property holds whether the dial wraps when dragged.

For example, when this property is set to true, dragging the dial past the to position will result in the handle being positioned at the from position, and vice versa:

When this property is false, it's not possible to drag the dial across the from and to values.

The default value is false.


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.