LottieAnimation QML Type

Qt용 바디모빈 플레이어. 더 보기...

Import Statement: import Qt.labs.lottieqt 1.0
Inherits:

Item

속성

신호

방법

상세 설명

로티애니메이션 유형은 바디모빈 포맷 파일을 보여줍니다.

LottieAnimation은 어도비 애프터 이펙트에서 내보낸 바디무빈 파일을 로드하고 렌더링하는 데 사용됩니다. 현재 전체 바디무빈 사양의 하위 집합만 지원됩니다. 가장 눈에 띄는 편차는 다음과 같습니다:

  • 셰이프 레이어만 지원
  • 타임라인의 정수 프레임 모드만 지원됨(실수 프레임 수와 시간은 가장 가까운 정수로 반올림됨)
  • 표현식은 지원되지 않음

전체 편차 목록은 제한 사항 섹션을 참조하세요.

사용 예

다음 예시는 LottieAnimation 유형의 간단한 사용법을 보여줍니다.

LottieAnimation {
    loops: 2
    quality: LottieAnimation.MediumQuality
    source: "animation.json"
    autoPlay: false
    onStatusChanged: {
        if (status === LottieAnimation.Ready) {
            // any acvities needed before
            // playing starts go here
            gotoAndPlay(startFrame);
        }
    }
    onFinished: {
        console.log("Finished playing")
    }
}

참고: 요소의 너비나 높이를 변경해도 그 안에 있는 애니메이션의 크기는 변경되지 않습니다. 또한 LottieAnimation 요소 내부의 콘텐츠는 정렬할 수 없습니다. 이를 위해서는 예를 들어 Item 안에 애니메이션을 배치하세요.

렌더링 성능

내부적으로 렌더링된 프레임 데이터는 성능 향상을 위해 캐시됩니다. QLOTTIE_RENDER_CACHE_SIZE 환경 변수를 설정하여 메모리 사용량을 제어할 수 있습니다(기본값은 2).

두 가지 로깅 카테고리를 켜서 렌더링 성능을 모니터링할 수 있습니다:

  • qt.lottieqt.bodymovin.render - 애니메이션이 렌더링되는 방식에 대한 정보를 제공합니다.
  • qt.lottieqt.bodymovin.render.thread - 렌더링 프로세스가 어떻게 진행되는지 정보를 제공합니다.

구체적으로 프레임 캐시가 계속 가득 차는지 또는 렌더링 프로세스에서 프레임이 준비될 때까지 기다려야 하는지 모니터링할 수 있습니다. 첫 번째 경우는 애니메이션이 너무 복잡해서 렌더링이 속도를 따라갈 수 없음을 의미합니다. 애니메이션을 더 단순하게 만들거나 QML 장면을 최적화해 보세요.

프로퍼티 문서

autoPlay : bool

애니메이션 파일이 로드된 후 플레이어가 애니메이션을 자동으로 재생할지 여부를 정의합니다.

기본값은 true 입니다.


direction : enumeration

이 프로퍼티는 렌더링 방향을 유지합니다.

Constant설명
LottieAnimation.Forward정방향(기본값)
LottieAnimation.Reverse역방향

endFrame : int [read-only]

애니메이션 끝의 프레임 번호입니다. 이 값은 애니메이션이 로드되고 재생할 준비가 된 후에 사용할 수 있습니다.


frameRate : int

이 프로퍼티는 바디모빈 애니메이션의 프레임 속도 값을 유지합니다.

frameRate 에셋이 로드된 후에 변경됩니다. 에셋에 정의된 값이 값을 재정의하므로 그 이전에는 프레임 속도를 변경해도 적용되지 않습니다. 프레임 속도를 변경하려면 다음과 같이 작성할 수 있습니다:

LottieAnimation {
    source: "animation.json"
    onStatusChanged: {
        if (status === LottieAnimation.Ready)
            frameRate = 60;
    }

loops : int

이 프로퍼티는 플레이어가 반복할 루프 횟수를 보유합니다. LottieAnimation.Infinite 값은 플레이어가 애니메이션을 연속적으로 반복한다는 의미입니다.

기본값은 1 입니다.


quality : enumeration

바디무빈 플레이어의 렌더링 품질을 설정합니다. LowQuality 을 선택하면 프레임 버퍼 객체로 렌더링되지만, 다른 옵션을 선택하면 QImage 으로 렌더링됩니다(화면에 렌더링됨).

상수설명
LottieAnimation.LowQuality앤티앨리어싱 또는 부드러운 픽셀맵 변환 알고리즘이 사용되지 않습니다.
LottieAnimation.MediumQuality부드러운 픽셀맵 변환 알고리즘이 사용되지만 앤티앨리어싱이 사용되지 않음(기본값)
LottieAnimation.HighQuality앤티앨리어싱과 부드러운 픽셀맵 변환 알고리즘이 모두 사용됩니다.

source : url

LottieAnimation 에서 재생하는 바디모빈 에셋의 소스.

LottieAnimation 는 Qt에서 지원하는 모든 URL 체계를 처리할 수 있습니다. URL은 절대적이거나 컴포넌트의 URL에 상대적일 수 있습니다.

소스 속성을 설정하면 애니메이션 로드가 비동기적으로 시작됩니다. 로딩 진행 상황을 모니터링하려면 status 변경 신호에 연결합니다.


startFrame : int [read-only]

애니메이션 시작 프레임 번호입니다. 이 값은 애니메이션이 로드되고 재생할 준비가 된 후에 사용할 수 있습니다.


status : enumeration

이 속성은 LottieAnimation 요소의 현재 상태를 유지합니다.

상수설명
LottieAnimation.Null소스가 정의되지 않은 경우 사용되는 초기 값입니다(기본값).
LottieAnimation.Loading플레이어가 바디모빈 파일을 로드 중입니다.
LottieAnimation.Ready로딩이 성공적으로 완료되었으며 플레이어가 애니메이션을 재생할 준비가 되었습니다.
LottieAnimation.Error애니메이션을 로드하는 동안 오류가 발생했습니다.

예를 들어 다음과 같이 onStatusChanged 시그널 핸들러를 구현하여 애니메이션 로딩 진행 상황을 모니터링할 수 있습니다:

LottieAnimation {
    source: "animation.json"
    autoPlay: false
    onStatusChanged: {
        if (status === LottieAnimation.Ready)
            start();
    }

신호 문서

finished()

이 신호는 플레이어가 재생을 완료했을 때 발생합니다. 루핑의 경우 마지막 루프가 완료되면 신호가 전송됩니다.

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


메서드 문서

double getDuration(bool inFrames)

현재 재생 중인 에셋의 재생 시간을 반환합니다.

주어진 inFramestrue 인 경우 반환 값은 프레임 수로 된 지속 시간입니다. 그렇지 않으면 지속 시간을 초 단위로 반환합니다.


void gotoAndPlay(int frame)

주어진 frame 에서 에셋을 재생합니다.


bool gotoAndPlay(string frameMarker)

주어진 frameMarker 마커가 있는 프레임에서 에셋을 재생합니다. 프레임 마커가 발견되면 true, 그렇지 않으면 false 을 반환합니다.


void gotoAndStop(int frame)

재생 헤드를 지정된 frame 으로 이동한 후 중지합니다.


bool gotoAndStop(string frameMarker)

재생 헤드를 지정된 마커로 이동하고 중지합니다. frameMarker 을 찾으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.


void pause()

재생을 일시 정지합니다.


void play()

현재 위치에서 재생을 시작하거나 계속합니다.


void start()

애니메이션을 처음부터 재생하기 시작합니다.


void stop()

재생을 중지하고 startFrame 로 돌아갑니다.


void togglePause()

플레이어의 상태를 재생과 일시정지 상태로 전환합니다.


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