拨号 QML 类型

圆形转盘,可以旋转以设置值。更多...

导入语句import QtQuick.Controls
继承

Control

属性

信号

  • moved() (since QtQuick.Controls 2.2 (Qt 5.9))
  • wrapped(Dial.WrapDirection direction) (since 6.6)

方法

详细信息

Dial 与传统设备(如音频设备或工业设备)上的旋钮类似。允许用户在范围内指定一个值。

Dial 的值通过 value 属性设置。范围通过 fromto 属性设置。要启用或禁用回环,请使用 wrap 属性。

Dial 可以通过键盘操作。它支持以下操作:

操作
减少 valuestepSizeQt.Key_Left
减少 valuestepSizeQt.Key_Down
value 设置为 fromQt.Key_Home
增加 valuestepSizeQt.Key_Right
增加 valuestepSizeQt.Key_Up
value 设置为 toQt.Key_End

旋钮支持三种 输入模式Dial.Circular(圆形)、Dial.Horizontal(水平)和 Dial.Vertical(垂直)。圆形输入模式在绝对输入系统中操作,其中旋钮内光标的位置直接反映其值。水平和垂直输入模式使用相对输入系统,光标位置的变化将“添加”到旋钮的值。

以下图片展示了不同输入模式跟踪移动的方向

另请参阅自定义旋钮输入控件

属性文档

angle : real [只读]

该属性保存摇杆顺时针角度(以度为单位)。

角度在12点位置为零,范围从 startAngleendAngle

另请参阅positionstartAngleendAngle


endAngle : real [自 6.6 版本开始]

该属性保存旋钮的终止角度(以度为单位)。

这是旋钮最大值时的角度,即 to。终止角度必须大于 startAngle,小于720且小于或等于 startAngle + 360度。

此属性自Qt 6.6版本开始引入。

另请参阅endAngle 和 angle


from : real

该属性保存范围的起始值。默认值为 0.0

另请参阅tovalue


handle : Item

该属性保存旋钮的把手。

把手作为旋钮位置的视觉指示器。

另请参阅自定义旋钮


inputMode : enumeration [自 QtQuick.Controls 2.5 (Qt 5.12) 开始]

该属性保存输入模式。

旋钮支持三种输入模式: Dial.CircularDial.HorizontalDial.Vertical。圆形输入模式在绝对输入系统中操作,其中旋钮内光标的位置直接反映其值。水平和垂直输入模式使用相对输入系统,光标位置的变化将“添加”到旋钮的值。

以下图片展示了不同输入模式跟踪移动的方向

默认值是 Dial.Circular

此属性自 QtQuick.Controls 2.5 (Qt 5.12) 开始引入。


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

此属性表示当拖动把手时,旋钮是否为value属性提供实时更新。

默认值是true

此属性是在QtQuick.Controls 2.2(Qt 5.9)中引入的。

另请参阅value


position : real [只读]

此属性表示把手的逻辑位置。

位置以控制的角范围(把手可以移动的范围)的分数表示,范围在0.0 - 1.0之间。

另请参阅valueangle


pressed : bool

此属性表示旋钮是否被按下。

当鼠标在旋钮上按下,或者按住诸如Qt.Key_Left这样的键时,旋钮将被按下。如果您不想在按键时按下旋钮(例如,出于样式考虑),可以使用Keys附加属性

Dial {
    Keys.onLeftPressed: {}
}

这将导致只有在鼠标按下时pressed才为true


snapMode : enumeration

此属性表示抬取模式。

抬取模式与stepSize一起工作,允许把手沿旋钮的特定点对齐。

可能值

常数描述
Dial.NoSnap旋钮不会抬取(默认)。
Dial.SnapAlways拖动把手时,旋钮会抬取。
Dial.SnapOnRelease在拖动过程中旋钮不会抬取,但只能在把手释放后。

另请参阅stepSize


startAngle : real [since 6.6]

此属性表示以度为单位旋转的起始角度。

这是旋钮表示最小值时的angle。即from。startAngle必须小于endAngle,大于-360,或者等于endAngle - 360度。

此属性自Qt 6.6版本开始引入。

另请参阅endAngleangle


stepSize : real

此属性表示步长。

步长确定通过键盘与旋钮交互时增加和减少旋钮值量的程度。例如,步长为0.2,将使旋钮值以0.2的增量增加和减少。

只有当snapMode设置为除Dial.NoSnap之外的值时,才会尊重步长。

默认值是0.0,这会导致键盘交互的有效步长为0.1

另请参阅 snapModeincrease() 和 decrease().


to : real

此属性用于保存范围的结束值。默认值为 1.0

另请参阅 fromvalue


value : real

此属性用于保存范围 from - to 中的值。默认值为 0.0

另请参阅 positionlive


wrap : bool

此属性用于存放当拖动时表盘是否回环。

例如,当此属性设置为 true 时,拖动表盘超过 to 位置,将导致表盘处于 from 位置,反之亦然

当此属性为 false 时,无法拖动表盘跨过 fromto 值。

默认值为 false


信号文档

[自 QtQuick.Controls 2.2 (Qt 5.9)] moved()

当用户通过触摸、鼠标或键盘交互式移动表盘时,将发射此信号。

注意:对应的处理程序是 onMoved

此信号是在 QtQuick.Controls 2.2 (Qt 5.9) 中引入的。


[自 6.6] wrapped(Dial.WrapDirection direction)

当表盘回环时,即其值从最大值超过最小值或反之,会发射此信号。仅当 wraptrue 时才会发射。参数 direction 指定完整旋转的方向,将是以下参数之一

常数描述
Dial.Clockwise表盘按顺时针方向回环。
Dial.CounterClockwise表盘按逆时针方向回环。

注意:对应的处理程序是 onWrapped

此信号是在 Qt 6.6 中引入的。


方法文档

void decrease()

通过 stepSize 减少值,如果没有定义 stepSize,则默认为 0.1

另请参阅stepSize


void increase()

通过 stepSize 增加值,如果没有定义 stepSize,则默认为 0.1

另请参阅stepSize


© 2024 The Qt Company Ltd. 所包含的文档贡献是各自所有者的版权。此处提供的文档是根据免费软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款授权的。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰以及/或世界其他国家的 商标。所有其他商标均为其各自所有者的财产。