이 페이지에서

C++에서 제공하는 확장 지점 Qt Quick

모든 QML 애플리케이션은 C++ 코드로 구현된 추가 기능을 사용하거나 C++ 기반 QML 플러그인을 제공하기 위해 C++을 통해 확장될 수 있습니다. C++을 통한 QML 확장에 대한 내용은 ‘C++을 사용한 QML 확장 작성’ 문서에서 다루고 있습니다.

또한, Qt Quick 모듈은 C++ 개발자를 위해 이 모듈에 특화된 여러 확장 및 통합 지점을 제공합니다. 특히, C++ 개발자는 ` Qt Quick`를 통해 렌더링될 수 있는 사용자 정의 ` QQuickItem` 파생 유형을 생성하고 등록할 수 있습니다. 또한 개발자가 자체 렌더링 프리미티브를 정의할 수 있도록 하는 여러 장면 그래프 관련 클래스도 제공합니다.

사용자 정의 QQuickItem 파생 유형

Qt Quick 모듈은 이미 QML 애플리케이션에서 사용할 수 있는 풍부한 시각적 항목 유형 라이브러리를 제공하지만, 일부 개발자는 C++에서 자체 항목 파생 유형을 정의하여 QML 유형 시스템에 노출시키고자 할 수 있습니다. 이를 위한 가장 쉬운 방법은 Qt Quick 모듈의 모든 시각적 유형에 대한 기본 유형인 QQuickItem 을 상속하는 것입니다. 자세한 내용은 QQuickItem 문서를 참조하십시오.

Qt Quick 2는 렌더링을 위해 OpenGL ES, OpenGL, Vulkan, Metal 또는 Direct 3D와 같은 그래픽 API를 기반으로 한 전용 씬 그래프를 사용합니다. 기존의 명령형 페인팅 시스템(QPainter 등) 대신 그래픽스에 씬 그래프를 사용한다는 것은, 렌더링될 씬을 프레임 간에 유지할 수 있으며 렌더링이 시작되기 전에 렌더링할 프리미티브의 전체 집합을 알 수 있음을 의미합니다. 이를 통해 상태 변경을 최소화하기 위해 OpenGL 드로우 호출을 일괄 처리하거나 가려진 프리미티브를 제거하는 등 다양한 최적화가 가능해집니다. Qt Quick C++ API 는 C++에서 사용자 정의 노드를 생성할 수 있도록 다양한 클래스를 제공합니다. 자세한 내용은 Qt Quick 시나리오 그래프 문서를 참조하십시오.

픽스맵 및 스레드 기반 이미지 지원

QML 엔진은 QML 애플리케이션이 파일 시스템이나 네트워크 리소스에서 이미지를 불러올 수 있도록 지원하지만, 일부 애플리케이션의 경우 C++ 기반 프로세스에서 이미지를 불러오는 추가 옵션이 필요할 수 있습니다. 이는 QQuickImageProvider 클래스를 통해 구현할 수 있으며, 이 클래스는 QML 애플리케이션을 위한 픽스맵 로딩 및 스레드 기반 이미지 요청을 지원합니다. 특수한 "image:" URL 스키마를 통해 이미지를 요청하는 모든 QML 애플리케이션은 해당 이미지를 로드하기 위해 적절한 이미지 제공자로 연결됩니다.

자세한 내용은 QQuickImageProvider 문서를 참조하십시오.

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