范围滑块 QML 类型

用于通过在轨道上滑动两个手柄来选择一组值。更多...

导入语句import QtQuick.Controls
继承

Control

属性

信号

方法

详细说明

RangeSlider 用于通过在每个轨道上滑动每个把手来选择由两个值指定的范围。

在下面的示例中,设置了自定义的 fromto 值,并设置了 firstsecond 把手的初始位置。

RangeSlider {
    from: 1
    to: 100
    first.value: 25
    second.value: 75
}

为了在特定把手的值变化时执行动作,请使用以下语法

first.onMoved: console.log("first.value changed to " + first.value)

first.positionsecond.position 属性表示为控制大小的分数,范围在 0.0 - 1.0 之间。 first.visualPositionsecond.visualPosition 属性相同,只是在 从右到左 应用中反序。 visualPosition 在样式化 RangeSlider 时用于定位把手。在上述示例中,first.visualPosition 在从左到右的应用中将是 0.24,在从右到左的应用中将是 0.76

有关允许用户选择单个值的滑块,请参阅 Slider

另请参阅 自定义 RangeSlider输入控件Qt Quick 控件中的焦点管理

属性说明

第一个组

first.handle : Item

first.hovered : bool

first.implicitHandleHeight : real

first.implicitHandleWidth : real

first.position : real

first.pressed : bool

first.value : real

first.visualPosition : real

属性描述
value此属性保存范围 from - to 中第一个把手的值。

如果 from 大于 to,则第一个把手的值必须大于第二个,反之亦然。

默认值为 0.0

handle此属性保存第一个把手项。
visualPosition此属性保存第一个把手的视觉位置。

位置以控制尺寸的分数形式表示,范围为 0.0 - 1.0。当控制 mirrored 时,值等于 1.0 - position。这使得值适合用于可视化滑块,考虑到从右到左的支持。

position此属性保存第一个旋钮的逻辑位置。

位置以控制尺寸的分数表示,范围为 0.0 - 1.0。为了可视化滑块,应使用右向左感知的 visualPosition

pressed此属性保存第一个旋钮是否被触摸、鼠标或键盘按下。
hovered此属性保存第一个旋钮是否被悬停。此属性在 QtQuick.Controls 2.1 中引入。
implicitHandleWidth此属性保存第一个旋钮的隐式宽度。此属性在 QtQuick.Controls 2.5 中引入。
implicitHandleHeight此属性保存第一个旋钮的隐式高度。此属性在 QtQuick.Controls 2.5 中引入。

另请参阅 first.moved()、first.increase() 和 first.decrease()。


from : real

此属性保存范围开始的值。默认值为 0.0

另请参阅 tofirst.valuesecond.value


horizontal : bool [只读,自 QtQuick.Controls 2.3(Qt 5.10)起]

此属性保存滑块是否为水平。

此属性在 QtQuick.Controls 2.3(Qt 5.10)中引入。

另请参阅 orientation


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

此属性保存是否在拖动相应旋钮时为 first.valuesecond.value 属性提供实时更新。

默认值为 true

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

另请参阅 first.valuesecond.value


orientation : enumeration

此属性保存方向。

可能值

常数描述
Qt.Horizontal水平(默认)
Qt.Vertical垂直

另请参阅 horizontalvertical


第二组

second.handle : Item

second.hovered : bool

second.implicitHandleHeight : real

second.implicitHandleWidth : real

second.position : real

second.pressed : bool

second.value : real

second.visualPosition : 实数

属性描述
value此属性保存范围 - 中第二个操作手的值。

如果 from 大于 to,则第一个把手的值必须大于第二个,反之亦然。

默认值为 0.0

handle此属性保存第二个操作手项。
visualPosition此属性保存第二个操作手的视觉位置。

位置以控制尺寸的分数形式表示,范围为 0.0 - 1.0。当控制 mirrored 时,值等于 1.0 - position。这使得值适合用于可视化滑块,考虑到从右到左的支持。

position此属性保存第二个操作手的逻辑位置。

位置以控制大小的分数表示,范围在 0.0 - 1.0 之间。对于可视化滑动条,应使用从右至左的visualPosition

pressed此属性保存第二个操作手是否被触摸、鼠标或按键按下。
hovered此属性保存第二个操作手是否被悬停。该属性自QtQuick.Controls 2.1 起引入。
implicitHandleWidth此属性保存第二个操作手的隐含宽度。该属性自QtQuick.Controls 2.5 起引入。
implicitHandleHeight此属性保存第二个操作手的隐含高度。该属性自QtQuick.Controls 2.5 起引入。

另请参阅second.moved(),second.increase() 和 second.decrease()。


snapMode : 枚举

此属性保存捕获模式。

捕获模式确定滑动条操作手在 stepSize 方面的行为。

可能值

常数描述
RangeSlider.NoSnap滑动条不捕获(默认)。
RangeSlider.SnapAlways当操作手被拖动时,滑动条会捕获。
RangeSlider.SnapOnRelease在拖动过程中,滑动条不会捕获,但操作手释放后才会捕获。

有关各种模式的可视化解释,请参阅snapModeSlider 文档。

另请参阅stepSize


stepSize : 实数

此属性保存步长大小。默认值为 0.0

另请参阅snapModefirst.increase() 和 first.decrease()。


to : 实数

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

另请参阅fromfirst.valuesecond.value


touchDragThreshold : qreal [自 QtQuick.Controls 2.5 (Qt 5.12) 开始]

此属性保存启动触摸拖动事件时的阈值(以逻辑像素为单位)。鼠标拖动阈值不受影响。默认值为 Qt.styleHints.startDragDistance

该属性自 QtQuick.Controls 2.5 (Qt 5.12) 起引入。

另请参阅QStyleHints


vertical : 布尔值 [只读,自 QtQuick.Controls 2.3 (Qt 5.10) 开始]

此属性保存滑动条是否垂直。

此属性在 QtQuick.Controls 2.3(Qt 5.10)中引入。

另请参阅 orientation


信号文档

[自 QtQuick.Controls 2.5 开始] void first.moved()

[自 QtQuick.Controls 2.5 开始] void second.moved()

此信号在用户通过触摸、鼠标或键盘交互式移动第一个或第二个把手时发出。

此QML信号是在QtQuick.Controls 2.5中引入的。

另请参阅 firstsecond


方法文档

void first.decrease()

通过 stepSize 减少把手的值,如果没有定义则减去 0.1

另请参阅 first


void first.increase()

通过 stepSize 增加把手的值,如果没有定义则增加 0.1

另请参阅 first


void second.decrease()

通过 stepSize 减少把手的值,如果没有定义则减去 0.1

另请参阅 second


void second.increase()

通过 stepSize 增加把手的值,如果没有定义则增加 0.1

另请参阅 second


void setValues(real firstValue, real secondValue)

使用给定的参数设置 first.valuesecond.value

如果 to 大于 fromfirstValue 大于 secondValue,则 firstValue 将被钳位到第二Value。

如果 from 大于 to 且 secondValue 大于 firstValue,则 secondValue 将被钳位到 firstValue。

在控件完成后有可能需要设置第一个和第二个值,因为 firstValue 和 secondValue 之间存在循环依赖关系,这可能导致分配的值相互钳位。

另请参阅stepSize


[自 QtQuick.Controls 2.5 (Qt 5.12)] real valueAt(real position)

返回给定 position 的值。

此方法是在 QtQuick.Controls 2.5 (Qt 5.12) 中引入的。

另请参阅 first.valuesecond.valuefirst.positionsecond.positionlive


© 2024 Qt公司。本文档贡献的版权属于其各自的所有者。提供的文档在 GNU自由文档许可第1.3版 的条款下发布,该许可证由自由软件基金会发布。Qt和相应的标志是芬兰的 Qt 公司及其它国家和地区的商标。所有其它商标属于其各自的所有者。