이 페이지에서

Qt Jenny: Java 코드 생성기

Qt Jenny 는 Java API를 Qt C++ 래퍼로 변환하여, Qt C++ 프로그램에서 Java 기능을 호출할 수 있게 해줍니다. 이는 Android와 같이 Java 시스템 API가 있는 플랫폼에서 특히 유용합니다.

주요 기능

Qt Jenny의 기능:

  • 모든 자바 클래스에 대한 래퍼 생성.
  • 사용자 정의가 가능한 템플릿을 활용한 생성 기능으로, C++ 출력 결과를 맞춤 설정할 수 있습니다.
  • 생성된 래퍼의 네임스페이스를 제어할 수 있는 구성 가능한 생성 기능.
  • 생성된 코드 내에서 ` QJniObject `을 사용하는 코드 생성을 지원하여, ` QJniObject `이 제공하는 모든 편의 기능을 활용할 수 있습니다.

예제

Qt Jenny 사용 예제는 QtJenny 데모를 참조하십시오.

Qt Jenny 의 작동 방식

Qt Jenny 다음 구성 요소를 사용하여 Java API를 Qt C++ 래퍼로 변환합니다:

  • 래핑할 클래스를 임포트하는 Kotlin 코드.
  • 어떤 클래스를 래핑할지 지정하는 해당 코드 내의 어노테이션.
  • 어노테이션을 읽어들이고 래퍼 코드를 생성하는 코드 생성기.

이러한 구성 요소를 바탕으로, Qt 프로젝트는 Qt CMake 프로젝트가 사용하는 코드를 생성하기 위한 별도의 Gradle 프로젝트가 포함되도록 구성됩니다. CMake 프로젝트는 프로젝트 구성 시점(즉, CMake를 실행할 때)에 코드 생성을 트리거합니다. 메서드를 호출하지만 콜백을 구현할 필요가 없는 애플리케이션의 경우, 단일 코드 생성 프로젝트로 충분합니다. 메서드 호출과 인터페이스 콜백을 모두 사용하는 애플리케이션의 경우, 메서드 프록시용과 콜백 계층 구조용, 총 두 개의 생성 프로젝트가 필요합니다. 클래스를 확장해야 하는 애플리케이션의 경우, 메서드 프록시용, Java 글루 코드용, 콜백 계층 구조용, 총 세 개의 생성 프로젝트가 필요합니다.

QtJenny 데모의 예제 코드는 클래스 확장을 사용하기 때문에 세 개의 생성 프로젝트를 사용합니다.

작동 원리

참고

라이선스 및 출처 표기

Qt Jenny 다음과 같은 허용적인 라이선스에 따라 제3자 모듈이 포함될 수 있습니다:

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