SmoothedAnimation QML Type
속성이 값을 부드럽게 추적할 수 있게 합니다. 더 보기...
| Import Statement: | import QtQuick |
| Inherits: |
속성
- duration : int
- maximumEasingTime : int
- reversingMode : enumeration
- velocity : real
상세 설명
SmoothedAnimation은 이즈 인/아웃 쿼드 이징 곡선을 사용하여 속성의 값을 설정된 목표 값으로 애니메이션 처리합니다. 목표 값이 변경되면, 기존 목표 값과 새로운 목표 값 사이를 애니메이션하는 데 사용되는 이징 곡선들이 부드럽게 연결되어, 현재 속도를 유지하면서 새로운 목표 값으로 부드럽게 이동하는 효과를 만듭니다.
다음 예제는 SmoothedAnimation을 사용하여 한 Rectangle 이 다른 의 위치를 추적하는 모습을 보여줍니다. 녹색 사각형의 x 및 y 값은 빨간색 사각형의 값에 바인딩되어 있습니다. 이 값들이 변경될 때마다 녹색 사각형은 새로운 위치로 부드럽게 애니메이션됩니다:
import QtQuick
Rectangle {
width: 800; height: 600
color: "blue"
Rectangle {
width: 60; height: 60
x: rect1.x - 5; y: rect1.y - 5
color: "green"
Behavior on x { SmoothedAnimation { velocity: 200 } }
Behavior on y { SmoothedAnimation { velocity: 200 } }
}
Rectangle {
id: rect1
width: 50; height: 50
color: "red"
}
focus: true
Keys.onRightPressed: rect1.x = rect1.x + 100
Keys.onLeftPressed: rect1.x = rect1.x - 100
Keys.onUpPressed: rect1.y = rect1.y - 100
Keys.onDownPressed: rect1.y = rect1.y + 100
}SmoothedAnimation은 애니메이션이 발생해야 할 velocity 또는 애니메이션이 따라가야 할 duration 을 설정하여 구성할 수 있습니다. velocity 과 duration 이 모두 지정된 경우, 대상 값이 변경될 때마다 더 빠른 애니메이션을 생성하는 쪽이 선택됩니다.
예를 들어, 0에서 800까지 애니메이션을 적용할 때, 속도를 200으로 설정하면 4초가 소요되고, 지속 시간을 8000으로 설정하면 8초가 소요되며, 속도와 지속 시간을 모두 200과 8000으로 설정하면 4초가 소요됩니다. 0에서 20000까지 애니메이션하는 데는 속도를 200으로 설정하면 10초가 걸리고, 지속 시간을 8000으로 설정하면 8초가 걸리며, 속도와 지속 시간을 모두 200과 8000으로 설정하면 8초가 걸립니다.
SmoothedAnimation의 기본 속도는 200 단위/초입니다. 애니메이션이 적용되는 값의 범위가 좁은 경우, 속도를 적절히 조정해야 한다는 점에 유의하십시오. 예를 들어, 아이템의 불투명도는 0에서 1.0 사이의 범위를 가집니다. 이 범위 내에서 부드러운 애니메이션을 구현하려면 속도를 0.5 단위/초와 같은 값으로 설정해야 합니다. 속도 0.5로 0에서 1.0까지 애니메이션을 적용하면 완료하는 데 2000 ms가 소요됩니다.
다른 애니메이션 유형과 마찬가지로, SmoothedAnimation은 전환, 동작 및 속성 값 소스를 포함하여 다양한 방식으로 적용할 수 있습니다. Qt Quick 문서의 ‘애니메이션 및 전환’ 섹션에서는 애니메이션을 생성하는 다양한 방법을 보여줍니다.
또한 SpringAnimation, NumberAnimation, Qt Quick 의 ‘애니메이션 및 전환’ 섹션, 그리고 Qt Quick 예제 - 애니메이션을참조하십시오 .
속성 문서
duration : int
이 속성은 소스를 추적할 때 사용되는 애니메이션 지속 시간(밀리초 단위)을 저장합니다.
이 값을 -1(기본값)로 설정하면 지속 시간 값이 비활성화됩니다.
속도 값과 지속 시간 값이 모두 활성화된 경우, 애니메이션은 두 값 중 지속 시간이 더 짧은 쪽을 사용합니다.
maximumEasingTime : int
이 속성은 팔로우 애니메이션 중 발생하는 모든 “이징”이 소요하는 최대 시간을 밀리초(ms) 단위로 지정합니다. 이 속성을 설정하면 애니메이션이 일정 시간이 지난 후 속도가 “안정화”됩니다. 음수 값을 설정하면 애니메이션 전체 기간에 걸쳐 이징이 적용되는 일반 모드로 돌아갑니다.
기본값은 -1입니다.
reversingMode : enumeration
애니메이션 방향이 반전될 경우 ‘ SmoothedAnimation ’의 동작 방식을 설정합니다.
사용 가능한 값은 다음과 같습니다:
| Constant | 설명 |
|---|---|
SmoothedAnimation.Eased | (기본값) 애니메이션이 부드럽게 감속한 후 방향을 반전시킵니다 |
SmoothedAnimation.Immediate | 애니메이션이 속도 0에서 시작하여 즉시 반대 방향으로 가속됩니다 |
SmoothedAnimation.Sync | 속성이 즉시 목표 값으로 설정됩니다 |
velocity : real
이 속성은 'to' 값을 추적할 때 허용되는 평균 속도를 저장합니다.
SmoothedAnimation 의 기본 속도는 200 단위/초입니다.
이 값을 -1로 설정하면 속도 값이 비활성화됩니다.
속도 값과 지속 시간 값이 모두 활성화된 경우, 애니메이션은 두 값 중 지속 시간이 더 짧은 쪽을 사용합니다.
© 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.