QML과 JavaScript 통합
QML 언어는 JSON과 유사한 구문을 사용하며 다양한 표현식과 메서드를 JavaScript 함수로 정의할 수 있습니다. 또한 사용자가 JavaScript 파일을 임포트하고 해당 임포트가 제공하는 기능을 사용할 수 있습니다.
따라서 개발자와 디자이너는 자바스크립트에 대한 지식을 활용하여 사용자 인터페이스와 애플리케이션 로직을 빠르게 개발할 수 있습니다.
JavaScript 표현식
QML은 자바스크립트와 긴밀하게 통합되어 있으며, 신호 처리기와 메서드를 자바스크립트로 정의할 수 있습니다. QML의 또 다른 핵심 기능은 속성 바인딩을 사용하여 객체 속성 간의 관계를 지정하고 적용하는 기능으로, 이 역시 JavaScript를 사용하여 정의할 수 있습니다.
QML에서 JavaScript 표현식을 사용하는 방법에 대한 자세한 내용은 QML 문서에서 JavaScript 표현식이라는 제목의 문서 페이지를 참조하세요.
JavaScript에서 동적 QML 객체 생성
QML은 JavaScript 내에서 객체를 동적으로 생성하는 기능을 지원합니다. 이는 필요할 때까지 객체의 인스턴스화를 지연시켜 애플리케이션 시작 시간을 개선하는 데 유용합니다. 또한 사용자 입력이나 기타 이벤트에 반응하여 시각적 객체를 동적으로 생성하고 장면에 추가할 수 있습니다. 이 기능은 크게 두 가지 방식으로 사용할 수 있습니다.
객체 동적 생성을 사용하여 명령형 방식으로 자바스크립트에서 객체를 동적으로 생성할 수 있습니다. 이 기능은 예를 들어 QML을 애플리케이션 스크립팅 언어로 사용하는 경우에 유용할 수 있습니다.
참고: 사용자 인터페이스를 만들 때 객체를 동적으로 생성하는 가장 바람직한 방법은 선언적 구문을 사용하는 것인데, 이는 QML 엔진 및 도구와 가장 잘 통합되기 때문입니다. Loader , Instantiator, Repeater 유형과 같이 이 기능을 활성화하는 다양한 유형이 존재합니다.
자바스크립트 리소스
자바스크립트 함수에 정의된 애플리케이션 로직은 자바스크립트 리소스라는 별도의 자바스크립트 파일로 분리될 수 있습니다. 자바스크립트 리소스에는 서로 다른 의미를 가진 여러 가지 종류가 있습니다.
QML용 JavaScript 리소스를 정의하는 방법에 대한 자세한 내용은 QML에서 JavaScript 리소스 정의하기 문서 페이지를 참조하세요.
자바스크립트 가져오기
QML 문서는 자바스크립트 리소스를 가져올 수 있고, 자바스크립트 리소스는 다른 자바스크립트 리소스는 물론 QML 모듈도 가져올 수 있습니다. 이를 통해 애플리케이션 개발자는 애플리케이션 로직을 모듈화된 독립된 파일로 제공할 수 있습니다.
JavaScript 리소스를 가져오는 방법과 리소스가 제공하는 기능을 사용하는 방법에 대한 자세한 내용은 JavaScript 리소스 가져오기 문서 페이지를 참조하세요.
JavaScript 호스트 환경
QML 엔진은 웹 브라우저에서 제공하는 JavaScript 환경과 몇 가지 차이점이 있는 JavaScript 환경을 제공합니다. 이 환경에서 실행되는 코드에는 특정 제한 사항이 적용되며, QML 엔진은 JavaScript 개발자에게는 익숙하지 않을 수 있는 다양한 객체를 루트 컨텍스트에서 제공합니다.
이러한 제한 사항과 확장 기능은 QML 엔진에서 제공하는 JavaScript 호스트 환경에 대한 설명에 문서화되어 있습니다.
또한 JavaScript 엔진에서 사용하는 메모리 관리에 대한 자세한 설명도 있습니다.
JavaScript 엔진 구성하기
특정 사용 사례의 경우 JavaScript 엔진이 메모리를 처리하고 JavaScript를 컴파일하는 데 사용하는 일부 매개변수를 재정의할 수 있습니다. 이러한 매개변수에 대한 자세한 내용은 JavaScript 엔진 구성하기를 참조하세요.
© 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.