このページでは

RangeSlider QML Type

トラックに沿って2つのハンドルをスライドさせ、値の範囲を選択するために使用します。詳細...

Import Statement: import QtQuick.Controls
Inherits:

Control

プロパティ

信号

方法

詳細説明

RangeSliderは、トラックに沿って各ハンドルをスライドさせることで、2つの値で指定された範囲を選択するために使用されます。

以下の例では、カスタム値from およびto が設定され、first およびsecond の各ハンドルの初期位置が設定されています:

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

特定のハンドルの値が変更されたときにアクションを実行するには、次の構文を使用します:

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

first.position およびsecond.position プロパティは、コントロールのサイズに対する割合(0.0 - 1.0 )の範囲で指定されます。first.visualPosition およびsecond.visualPosition プロパティも同様ですが、右から左へのアプリケーションでは順序が逆になります。visualPosition は、RangeSliderのスタイル設定時にハンドルを配置するのに役立ちます。上記の例では、first.visualPosition は、左から右へのアプリケーションでは0.24 となり、右から左へのアプリケーションでは0.76 となります。

ユーザーが単一の値を選択できるスライダーについては、Slider を参照してください。

『Qt Quick コントロール』の「RangeSlider、入力コントロール、およびフォーカス管理のカスタマイズ」も参照してください 。

プロパティのドキュメント

crossingEnabled : bool [since QtQuick.Controls 6.12]

このプロパティは、スライダーのハンドルが互いに交差できるかどうかを決定します。

false (デフォルト)の場合、最初のハンドルは 2 番目のハンドルを越えて移動できず、その逆も同様です。値は、通常の範囲では `first.value <=second.value `、反転範囲では `first.value >=second.value ` となるように制限されます。

ハンドルの位置が入れ替わったことを検出するには、handlesCrossed プロパティを使用します。

デフォルト値はfalse です。

交差が無効になっている場合、ハンドルが交差していたときは、ハンドルの値が入れ替わります。

このプロパティは QtQuick.Controls 6.12 で導入されました。

handlesCrossed 、first.value 、およびsecond.valueも参照してください 。

effectiveFirstValue : real [read-only, since QtQuick.Controls 6.12]

このプロパティには、ハンドルが交差したかどうかに関係なく、当初「最初の」ハンドルとして作成されたハンドルの値が保持されます。

crossingEnabled がfalse の場合、またはハンドルが交差していない場合は、これはfirst.value に等しくなります。ハンドルが交差している場合、これは視覚的な「最初」の位置(水平方向では最左端、垂直方向では最下端)にあるハンドルの値を表します。

このプロパティは、QtQuick.Controls 6.12で導入されました。

effectiveSecondValue 、first.value 、handlesCrossed 、およびcrossingEnabledも参照してください 。

effectiveSecondValue : real [read-only, since QtQuick.Controls 6.12]

このプロパティは、視覚的な「2番目」の位置(水平方向では最右端、垂直方向では最上部)にあるハンドルの値を保持します。

crossingEnabled がfalse の場合、またはハンドルが交差していない場合、これはsecond.value と等しくなります。ハンドルが交差している場合、これは視覚的な「2番目」の位置(水平方向では右端、垂直方向では最上部)にあるハンドルの値を表します。

このプロパティは、QtQuick.Controls 6.12で導入されました。

effectiveFirstValue 、second.value 、handlesCrossed 、およびcrossingEnabledも参照してください 。

first group

first.handle : Item

first.hovered : bool

first.implicitHandleHeight : real

first.implicitHandleWidth : real

first.position : real

first.pressed : bool

first.value : real

first.visualPosition : real

プロパティ説明
値このプロパティには、from ~to の範囲内の最初のハンドルの値が格納されます。

from がto より大きい場合、最初のハンドルの値は2番目のハンドルの値より大きくなければならず、その逆も同様です。

デフォルト値は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 です。

「 to 」、「first.value 」、および「second.value 」も参照してください 。

handlesCrossed : bool [read-only, since QtQuick.Controls 6.12]

このプロパティは、ハンドル同士が交差しているかどうかを表します。

このプロパティは、crossingEnabled がtrue の場合にのみ関連します。ハンドルが交差すると、下限と上限という「1番目」と「2番目」の意味を保持するために、それぞれの内部ロールが入れ替わります。

このプロパティは、ハンドルが交差している状態にあるときに視覚的なフィードバックを提供するために使用できます。

このプロパティは、QtQuick.Controls 6.12で導入されました。

crossingEnabled およびhandlesCrossedChanged()も参照してください 。

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

このプロパティは、スライダーが水平かどうかを示します。

このプロパティは、QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

orientationも参照してください 。

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

このプロパティは、各ハンドルがドラッグされている間、スライダーがfirst.value およびsecond.value プロパティに対してリアルタイム更新を行うかどうかを示します。

デフォルト値はtrue です。

このプロパティは、QtQuick.Controls 2.2 (Qt 5.9) で導入されました。

first.value およびsecond.valueも参照してください 。

orientation : enumeration

このプロパティは、向きを保持します。

取り得る値:

定数説明
Qt.Horizontal水平(既定値)
Qt.Vertical垂直

関連項目: horizontal およびvertical 。

second group

second.handle : Item

second.hovered : bool

second.implicitHandleHeight : real

second.implicitHandleWidth : real

second.position : real

second.pressed : bool

second.value : real

second.visualPosition : real

プロパティ説明
値このプロパティには、from ~to の範囲にある 2 番目のハンドルの値が格納されます。

from がto より大きい場合、1番目のハンドルの値は2番目のハンドルの値より大きくなければならず、その逆も同様です。

デフォルト値は0.0 です。

handleこのプロパティは、2 番目のハンドル項目を保持します。
visualPositionこのプロパティは、2番目のハンドルの視覚的な位置を保持します。

位置は、コントロールのサイズに対する割合として、0.0 - 1.0 の範囲で表されます。コントロールがmirrored の場合、この値は1.0 - position に等しくなります。これにより、右から左への表示に対応したスライダーの視覚化に適した値となります。

positionこのプロパティは、2番目のハンドルの論理的な位置を保持します。

位置は、コントロールのサイズに対する割合として表され、範囲は0.0 - 1.0 です。スライダーを視覚化するには、代わりに右から左への読み方を考慮したvisualPosition を使用する必要があります。

pressedこのプロパティは、2番目のハンドルがタッチ、マウス、またはキーのいずれかによって押されているかどうかを表します。
hoveredこのプロパティは、2番目のハンドルにカーソルがホバーしているかどうかを保持します。このプロパティは、2 番目のハンドルにカーソルがホバーされているかどうかを示します。このプロパティは、QtQuick.Controls 2.1 で導入されました。
implicitHandleWidthこのプロパティは、2番目のハンドルの暗黙的な幅を保持します。このプロパティはQtQuick.Controls 2.5で導入されました。
implicitHandleHeightこのプロパティは、2番目のハンドルの暗黙的な高さを保持します。このプロパティは、QtQuick.Controls 2.5 で導入されました。

関連項目: second.moved()、second.increase()、およびsecond.decrease()を参照してください 。

snapMode : enumeration

このプロパティはスナップモードを保持します。

スナップモードは、stepSize に対してスライダーのハンドルがどのように動作するかを決定します。

設定可能な値:

Constant説明
RangeSlider.NoSnapスライダーはスナップしません(デフォルト)。
RangeSlider.SnapAlwaysハンドルをドラッグしている間、スライダーがスナップします。
RangeSlider.SnapOnReleaseドラッグ中はスナップせず、ハンドルを離した後にのみスナップします。

各モードの視覚的な説明については、Slider の「snapMode 」ドキュメントを参照してください。

「stepSize」も参照してください 。

stepSize : real

このプロパティはステップサイズを保持します。デフォルト値は0.0 です。

「 snapMode 」、「first.increase()」、および「first.decrease()」も参照してください 。

to : real

このプロパティは、範囲の終了値を保持します。デフォルト値は1.0 です。

「 from 」、「first.value 」、および「second.value 」も参照してください 。

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

このプロパティは、タッチドラッグイベントが開始されるしきい値(論理ピクセル単位)を保持します。マウスドラッグのしきい値には影響しません。デフォルト値はApplication.styleHints.startDragDistance です。

このプロパティは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

QStyleHintsも参照してください 。

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

このプロパティは、スライダーが垂直であるかどうかを示します。

このプロパティは、QtQuick.Controls 2.3 (Qt 5.10) で導入されました。

orientationも参照してください 。

シグナルのドキュメント

[since QtQuick.Controls 2.5] void first.moved()

[since QtQuick.Controls 2.5] void second.moved()

このシグナルは、ユーザーがタッチ、マウス、またはキー操作のいずれかによって、1番目または2番目のハンドルを手動で移動させたときに発生します。

これらのシグナルは、QtQuick.Controls 2.5で導入されました。

「 first 」および「second 」も参照してください 。

[since QtQuick.Controls 6.12] void handlesCrossedChanged()

このシグナルは、ハンドル同士が交差した際に発生し、handlesCrossed プロパティが変更されます。

注: 対応するハンドラは onHandlesCrossedChanged です。

このシグナルは、QtQuick.Controls 6.12 で導入されました。

「crossingEnabled」も参照してください 。

メソッドのドキュメント

void first.decrease()

ハンドルの値をstepSize だけ減少させます。stepSize が定義されていない場合は、0.1 を減少させます。

firstも参照してください 。

void first.increase()

ハンドルの値をstepSize だけ増加させます。ただし、stepSize が定義されていない場合は0.1 を増加させます。

firstも参照してください 。

void second.decrease()

ハンドルの値をstepSize だけ減算します。ただし、stepSize が定義されていない場合は0.1 となります。

secondも参照してください 。

void second.increase()

ハンドルの値をstepSize だけ増加させます。stepSize が定義されていない場合は、0.1 を増加させます。

secondも参照してください 。

void setValues(real firstValue, real secondValue)

指定された引数を使用して、first.value およびsecond.value を設定します。

to がfrom より大きく、firstValue がsecondValue より大きい場合、firstValue は secondValue にクリップされます。

from がto より大きく、secondValue が firstValue より大きい場合、secondValue は firstValue にクリップされます。

firstValue と secondValue の間には循環依存関係があり、割り当てられた値が互いにクリップされてしまう可能性があるため、この関数は、コントロールの処理が完了した後に firstValue と secondValue を設定するために必要になる場合があります。

stepSizeも参照してください 。

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

指定されたposition の値を返します。

このメソッドは、QtQuick.Controls 2.5 (Qt 5.12) で導入されました。

first.value 、second.value 、first.position 、second.position 、およびliveも参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.