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 엔진은 파일 시스템 또는 네트워크 리소스에서 이미지를 로드할 수 있지만, 일부 애플리케이션은 C++ 기반 프로세스에서 이미지를 로드하는 추가 옵션이 필요할 수 있습니다. 이는 QML 애플리케이션에 대한 픽셀맵 로딩 및 스레드 이미지 요청을 지원하는 QQuickImageProvider 클래스를 통해 구현할 수 있습니다. 특수한 "image:" URL 체계를 통해 이미지를 요청하는 모든 QML 애플리케이션은 이미지를 로드하기 위해 적절한 이미지 제공업체로 연결됩니다.

자세한 내용은 QQuickImageProvider 문서를 참조하세요.

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