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은 DragHandler 이 직사각형을 너무 멀리 드래그하지 못하도록 합니다:
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 } }
한 프로퍼티에 두 개 이상의 BoundaryRule을 할당할 수 없습니다.
Qt Quick, 동작 예제에서애니메이션 및 전환을참조하세요 , Qt Qml및 Qt Quick 예제 - 포인터 핸들러를 참조하세요.
프로퍼티 문서
currentOvershoot : real |
easing : enumeration |
이 속성은 오버슈트 모드에서 적용될 완화 곡선을 유지합니다( minimum 또는 maximum 제약 조건을 위반할 때마다 해당 값이 여전히 각 오버슈트 범위 내에 있을 때).
기본 완화 곡선은 QEasingCurve::OutQuad 입니다.
enabled : bool |
이 속성은 추적된 속성의 값이 변경될 때 규칙이 적용될지 여부를 보유합니다.
기본적으로 BoundaryRule 이 활성화되어 있습니다.
maximum : real |
이 프로퍼티는 프로퍼티가 가질 수 있는 가장 큰 제약 없는 값을 보유합니다. 속성이 더 큰 값으로 설정되면 easing 및 maximumOvershoot 에 의해 제약됩니다.
기본값은 1
입니다.
maximumOvershoot : real |
minimum : real |
이 프로퍼티는 프로퍼티가 가질 수 있는 가장 작은 제약되지 않은 값을 보유합니다. 속성을 더 작은 값으로 설정하면 easing 및 minimumOvershoot 에 의해 제약됩니다.
기본값은 0
입니다.
minimumOvershoot : real |
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밀리초입니다.
신호 문서
returnedToBounds() |
이 신호는 maximum 또는 minimum 제약 조건을 위반한 후 currentOvershoot 가 다시 0
로 돌아갈 때 발생합니다. 반환이 애니메이션인 경우 애니메이션이 완료되면 신호가 발생합니다.
참고: 해당 핸들러는 onReturnedToBounds
입니다.
returnDuration 및 returnToBounds()도 참조하세요 .
메서드 문서
bool returnToBounds() |
인터셉트된 프로퍼티를 minimum 와 maximum 사이의 값으로 반환하여 currentOvershoot 와 peakOvershoot 이 모두 0이 되도록 합니다. returnDuration 이 0보다 크면 애니메이션이 적용됩니다.
값을 조정해야 하는 경우 참을 반환하고, 이미 범위 내에 있는 경우 거짓을 반환합니다.
returnedToBounds도 참조하세요 .
© 2025 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.