Qt Jenny: 자바 코드 생성기
Qt Jenny 는 Java API를 Qt C++ 래퍼로 변환하여 Qt C++ 프로그램에서 Java 기능을 호출할 수 있도록 합니다. 이는 Android와 같이 Java 시스템 API를 사용하는 플랫폼에서 특히 유용합니다.
기능
Qt Jenny의 기능
- 모든 Java 클래스에 대한 래퍼 생성.
- C++ 출력을 사용자 지정하기 위해 변경할 수 있는 사용자 지정 가능한 템플릿이 포함된 템플릿 생성.
- 생성된 래퍼의 네임스페이스를 제어할 수 있는 구성 가능한 생성.
- 생성된 코드에서 QJniObject 을 사용하는 코드 생성을 지원하므로 QJniObject 이 제공하는 모든 편의성을 활용할 수 있습니다.
예제
Qt Jenny 를 사용하는 예제는 QtJenny 데모를 참조하십시오.
Qt Jenny 작동 방식
Qt Jenny 는 다음 빌딩 블록을 사용하여 Java API를 Qt C++ 래퍼로 변환합니다:
- 래핑할 클래스를 임포트하는 Kotlin 코드.
- 래핑할 클래스를 알려주는 해당 코드의 어노테이션.
- 어노테이션을 읽고 래퍼 코드를 생성하는 코드 생성기.
이러한 빌딩 블록을 사용하면 Qt 프로젝트가 구조화되어 Qt CMake 프로젝트가 사용하는 코드를 생성하기 위한 별도의 Gradle 프로젝트가 생성됩니다. CMake 프로젝트는 프로젝트 구성 시(즉, CMake를 실행할 때) 코드 생성을 트리거합니다. 메서드를 호출하지만 콜백을 구현할 필요가 없는 애플리케이션의 경우 단일 코드 생성 프로젝트 하나면 충분합니다. 메서드 호출과 인터페이스 콜백을 모두 사용하는 애플리케이션의 경우 메서드 프록시용 프로젝트와 콜백 계층 구조용 프로젝트, 두 개의 생성 프로젝트가 필요합니다. 클래스를 확장해야 하는 애플리케이션의 경우 메서드 프록시용, Java 글루 코드용, 콜백 계층 구조용의 세 가지 세대 프로젝트가 필요합니다.
QtJenny 데모의 예제 코드는 클래스 확장을 사용하기 때문에 3세대 프로젝트를 사용합니다.
참조
라이선스 및 어트리뷰션
Qt Jenny 에는 다음과 같은 허용 라이선스에 따라 타사 모듈이 포함될 수 있습니다:
© 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.