BoundaryRule QML Type
数値プロパティに設定できる値の範囲に対する制限を定義します。詳細...
| Import Statement: | import Qt.labs.animation |
プロパティ
- currentOvershoot : real
- easing : enumeration
- enabled : bool
- maximum : real
- maximumOvershoot : real
- minimum : real
- minimumOvershoot : real
- overshootFilter : enumeration
- overshootScale : real
- peakOvershoot : real
- returnDuration : int
信号
方法
- bool returnToBounds()
詳細な説明
BoundaryRule は、特定のプロパティが取り得る値の範囲を定義します。範囲外の値が設定されそうになった場合、イージングカーブを通じて「抵抗」を適用します。
たとえば、次のBoundaryRuleは、DragHandler がRectangleを過度にドラッグするのを防ぎます:
import QtQuick
import Qt.labs.animation
Rectangle {
id: root
width: 170; height: 120
color: "green"
DragHandler {
id: dragHandler
yAxis.minimum: -1000
xAxis.minimum: -1000
onActiveChanged: if (!active) xbr.returnToBounds();
}
BoundaryRule on x {
id: xbr
minimum: -50
maximum: 100
minimumOvershoot: 40
maximumOvershoot: 40
}
}なお、1つのプロパティに割り当てられるBoundaryRuleは1つまでです。
関連項目: 『Qt Quick 』のアニメーションとトランジション、Behaviorの例、 Qt Qml、および「Qt Quick の例 - ポインタハンドラ」も参照してください。
プロパティのドキュメント
currentOvershoot : real
このプロパティは、インターセプトされたプロパティの直近で設定された値が、maximum を上回る、またはminimum を下回る値の差を保持します。
プロパティの値がmaximum を超えている場合は正、minimum を下回っている場合は負、両方の境界値の範囲内にある場合は0となります。
easing : enumeration
このプロパティは、オーバーシュートモードで適用されるイージングカーブを保持します(minimum またはmaximum の制約に違反した際、値がそれぞれのオーバーシュート範囲内にある場合)。
デフォルトのイージングカーブは「QEasingCurve::OutQuad 」です。
enabled : bool
このプロパティは、追跡対象のプロパティの値が変更された際に、ルールが適用されるかどうかを指定します。
デフォルトでは、BoundaryRule が有効になっています。
maximum : real
このプロパティは、そのプロパティが持つことができる最大の制約のない値を保持します。プロパティがこれより大きな値に設定された場合、easing およびmaximumOvershoot によって制約されます。
デフォルト値は1 です。
maximumOvershoot : real
このプロパティは、maximum を上回って許容される量を保持します。値がmaximum より大きく、maximum + maximumOvershoot より小さい場合は、easing 曲線によって制約されます。値がmaximum + maximumOvershoot を超えようとした場合、ハードストップが発生します。
デフォルト値は 0 です。
minimum : real
このプロパティは、そのプロパティが持つことが許可されている制約のない最小値を保持します。プロパティがこれより小さい値に設定された場合、easing およびminimumOvershoot によって制約されます。
デフォルト値は0 です。
minimumOvershoot : real
このプロパティは、minimum より小さくてもよい許容範囲を保持します。値がminimum 未満かつminimum - minimumOvershoot を超える場合、easing 曲線によって制約されます。値がminimum - minimumOvershoots を下回ろうとすると、ハードストップが発生します。
デフォルト値は0 です。
overshootFilter : enumeration
このプロパティは、インターセプトされたプロパティ値に適用される集計関数を指定します。
これがBoundaryRule.None (デフォルト)に設定されている場合、インターセプトされたプロパティの値は、currentOvershoot 以内にオーバーシュートが制限されます。これがBoundaryRule.Peak に設定されている場合、インターセプトされたプロパティの値は、peakOvershoot 以内にオーバーシュートが制限されます。
overshootScale : real
このプロパティは、オーバーシュート状態において「easing 」がスケーリングされる量を保持します。 たとえば、あるアイテムが特定の限界点を超えて100ピクセル以上移動できないように制限されており、ユーザーが(何らかの入力ハンドラを介して)その限界点を100ピクセル超えてドラッグしようとした場合、overshootScaleが1に設定されていれば、ユーザーは成功します。 イージングカーブが及ぼす唯一の効果は、オーバーシュート0からオーバーシュート100までの間のアイテムの移動速度を変えることだけです。しかし、この値が0.5に設定されている場合、BoundaryRule は抵抗を与えるため、ユーザーが100ピクセル移動させようとしても、アイテムは50ピクセルしか移動しません。 また、イージングカーブは移動速度を調整し、最初はユーザーの操作と同期して移動し、その後、イージングカーブの形状に応じて速度が低下するよう制御します。
デフォルト値は 0.5 です。
peakOvershoot : real
このプロパティは、returnToBounds() が呼び出されるまで、currentOvershoot で観測された値のうち、最も正または最も負の値を保持します。
これは、インターセプトされたプロパティの値が変動することがわかっており、変動そのものではなく、オーバーシュートの最大値を見つけ、それに対応したい場合に役立ちます。
overshootFilterも参照してください 。
returnDuration : int
このプロパティは、returnToBounds() がターゲットプロパティを最も近いバインド値に返すまでに要する時間をミリ秒単位で指定します。0 に設定すると、returnToBounds() はアニメーションジョブを作成せずに、プロパティを即座に設定します。
デフォルト値は 100 ミリ秒です。
Signal ドキュメント
returnedToBounds()
このシグナルは、maximum またはminimum の制約が違反された後、currentOvershoot が再び0 に戻ったときに発火します。戻りがアニメーション処理される場合、このシグナルはアニメーションが完了したときに発火します。
注: 対応するハンドラは `onReturnedToBounds` です。
returnDuration およびreturnToBounds()も参照してください 。
メソッドのドキュメント
bool returnToBounds()
インターセプトされたプロパティを、minimum からmaximum の範囲内の値に設定します。この際、currentOvershoot およびpeakOvershoot は両方とも 0 になります。returnDuration が 0 より大きい場合、この変更はアニメーションで反映されます。
調整が必要な場合は true を返し、すでに範囲内にある場合は false を返します。
returnedToBoundsも参照してください 。
© 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.