Animation QML Type

모든 QML 애니메이션의 기본입니다. 더 보기...

속성

신호

방법

자세한 설명

애니메이션 유형은 QML 파일에서 직접 사용할 수 없습니다. 이 유형은 이를 상속하는 다른 모든 애니메이션 유형에서 사용할 수 있는 공통 속성 및 메서드 집합을 제공하기 위해 존재합니다. 애니메이션 유형을 직접 사용하려고 하면 오류가 발생합니다.

프로퍼티 문서

alwaysRunToEnd : bool

이 프로퍼티는 애니메이션이 중지될 때 완료될 때까지 애니메이션을 실행할지 여부를 저장합니다.

참이면 애니메이션이 중지될 때 running 속성을 false로 설정하거나 stop() 메서드를 호출하여 현재 반복을 완료합니다. complete() 메서드는 이 값의 영향을 받지 않습니다.

이 동작은 loops 속성이 설정된 경우 애니메이션이 정상적으로 재생을 완료하지만 다시 시작되지 않으므로 가장 유용합니다.

기본적으로 alwaysRunToEnd 속성은 설정되어 있지 않습니다.

참고: alwaysRunToEnd는 전환의 애니메이션에는 영향을 미치지 않습니다.


loops : int

이 속성은 애니메이션이 재생되어야 하는 횟수를 보유합니다.

기본적으로 loops 은 1이며, 애니메이션이 한 번 재생된 후 중지됩니다.

애니메이션.무한으로 설정하면 running 속성을 false로 설정하거나 stop() 메서드를 호출하여 애니메이션이 명시적으로 중지될 때까지 애니메이션이 계속 반복됩니다.

다음 예시에서는 직사각형이 무한히 회전합니다.

Rectangle {
    width: 100; height: 100; color: "green"
    RotationAnimation on rotation {
        loops: Animation.Infinite
        from: 0
        to: 360
    }
}

paused : bool

이 속성은 애니메이션이 현재 일시 중지되었는지 여부를 보유합니다.

paused 속성을 설정하여 애니메이션의 일시 중지 여부를 선언적으로 제어할 수 있습니다.

또한 pause()resume() 메서드를 사용하여 JavaScript에서 애니메이션을 일시 중지했다가 즉시 다시 시작할 수도 있습니다.

기본적으로 애니메이션은 일시 중지되지 않습니다.


running : bool

이 속성은 애니메이션이 현재 실행 중인지 여부를 보유합니다.

running 속성을 설정하여 애니메이션의 실행 여부를 선언적으로 제어할 수 있습니다. 다음 예제는 MouseArea 을 누를 때마다 직사각형에 애니메이션을 적용합니다.

Rectangle {
    width: 100; height: 100
    NumberAnimation on x {
        running: myMouse.pressed
        from: 0; to: 100
    }
    MouseArea { id: myMouse }
}

마찬가지로 running 속성을 읽어서 애니메이션이 실행 중인지 확인할 수 있습니다. 다음 예제에서 텍스트 항목은 애니메이션이 실행 중인지 여부를 나타냅니다.

NumberAnimation { id: myAnimation }
Text { text: myAnimation.running ? "Animation is running" : "Animation is not running" }

애니메이션은 start()stop() 메서드를 사용하여 JavaScript에서 필수적으로 시작 및 중지할 수도 있습니다.

기본적으로 애니메이션은 실행되지 않습니다. 하지만 애니메이션이 on 구문을 사용하여 속성 값 소스로서 속성에 할당되면 기본적으로 애니메이션이 실행되도록 설정됩니다.


신호 문서

finished()

이 신호는 애니메이션이 자연스럽게 종료될 때 발생합니다.

runningfalse 로 설정된 경우나 loops 속성이 Animation.Infinite 로 설정된 애니메이션의 경우에는 발생하지 않습니다.

또한 최상위 독립형 애니메이션에 대해서만 발생합니다. 동작 또는 전환에 포함된 애니메이션이나 애니메이션 그룹의 일부인 애니메이션에 대해서는 발생하지 않습니다.

alwaysRunToEnd 가 참이면 애니메이션이 현재 반복을 완료할 때까지 이 신호가 발생하지 않습니다.

참고: 해당 핸들러는 onFinished 입니다.

stopped(), started() 및 running도 참조하세요 .


started()

이 신호는 애니메이션이 시작될 때 발생합니다.

최상위 독립형 애니메이션에 대해서만 트리거됩니다. 동작 또는 전환의 애니메이션이나 애니메이션 그룹의 일부인 애니메이션에 대해서는 트리거되지 않습니다.

참고: 해당 핸들러는 onStarted 입니다.


stopped()

이 신호는 애니메이션이 종료될 때 발생합니다.

애니메이션이 수동으로 중지되었거나 완료될 때까지 실행되었을 수 있습니다.

최상위 독립형 애니메이션에 대해서만 트리거됩니다. 동작 또는 전환에 포함된 애니메이션이나 애니메이션 그룹의 일부인 애니메이션에 대해서는 트리거되지 않습니다.

alwaysRunToEnd 가 참이면 애니메이션이 현재 반복을 완료할 때까지 이 신호가 발생하지 않습니다.

참고: 해당 핸들러는 onStopped 입니다.


메서드 문서

complete()

애니메이션을 중지하고 최종 속성 값으로 이동합니다.

애니메이션이 실행 중이 아닌 경우 이 메서드를 호출해도 아무런 효과가 없습니다. complete() 을 호출하면 running 속성은 거짓이 됩니다.

stop() 과 달리 complete() 은 애니메이션을 즉시 끝까지 빨리 감습니다. 다음 예시에서

Rectangle {
    NumberAnimation on x { from: 0; to: 100; duration: 500 }
}

250ms 시점에 stop() 을 호출하면 x 속성의 값이 50이 되고 complete() 을 호출하면 애니메이션이 끝까지 재생된 것처럼 x 속성이 100으로 설정됩니다.


pause()

애니메이션 일시 중지

애니메이션이 이미 일시 중지되었거나 running 이 아닌 경우 이 메서드를 호출해도 아무런 효과가 없습니다. paused 속성은 pause() 을 호출한 후에 참이 됩니다.


restart()

애니메이션을 다시 시작합니다.

이 메서드는 편의상 stop() 을 호출한 다음 start() 을 호출하는 것과 동일합니다.


resume()

일시 중지된 애니메이션을 다시 시작합니다.

애니메이션이 일시 중지되지 않았거나 running 이 아닌 경우 이 메서드를 호출해도 효과가 없습니다. resume() 을 호출하면 paused 속성은 거짓이 됩니다.


start()

애니메이션을 시작합니다.

애니메이션이 이미 실행 중인 경우 이 메서드를 호출해도 아무런 효과가 없습니다. running 속성은 start() 을 호출한 후 참이 됩니다.


stop()

애니메이션을 중지합니다.

애니메이션이 실행 중이 아닌 경우 이 메서드를 호출해도 아무런 효과가 없습니다. runningpaused 속성은 모두 stop() 을 호출한 후 거짓이 됩니다.

일반적으로 stop() 은 애니메이션을 즉시 중지하며 애니메이션은 속성 값에 더 이상 영향을 미치지 않습니다. 이 예제에서 애니메이션

Rectangle {
    NumberAnimation on x { from: 0; to: 100; duration: 500 }
}

이 250ms 시점에 중지되었으므로 x 속성의 값은 50이 됩니다.

그러나 alwaysRunToEnd 속성이 설정된 경우 애니메이션은 완료될 때까지 계속 실행된 다음 중지됩니다. running 속성은 여전히 즉시 거짓이 됩니다.


© 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.