QML 언어
QML 언어는 동적이며 선언적인 사용자 인터페이스를 구축하기 위한 기반을 제공합니다. 이 섹션에서는 핵심 언어 기능과 구문을 다룹니다.
핵심 개념
구문
'QML 구문 기초'에서는 객체 선언, 속성 할당, 계층적 객체 구조 등 QML의 기본 개념을 소개합니다. 이러한 기초를 이해하는 것은 모든 QML 코드를 작성하는 데 필수적입니다.
문서
'QML 문서'에서는 QML 코드가 파일 단위로 어떻게 구성되는지와 QML 문서의 구조에 대해 설명합니다. 각 문서는 재사용 가능한 타입을 정의할 수 있으며, 임포트, 객체 선언, 속성 정의를 포함합니다.
속성 바인딩
속성 바인딩은 QML의 가장 강력한 기능 중 하나로, 종속성이 변경될 때 속성이 자동으로 업데이트되도록 합니다. 바인딩을 사용하면 명령형 코드를 작성할 필요 없이 속성 간에 동적인 관계를 형성할 수 있습니다.
신호 및 핸들러 이벤트 시스템
신호 및 핸들러 이벤트 시스템은 QML의 이벤트 처리 메커니즘을 제공합니다. 객체는 특정 이벤트가 발생할 때 신호를 발산할 수 있으며, 다른 객체는 신호 핸들러를 구현하여 이에 응답할 수 있어 컴포넌트 간의 느슨한 결합을 가능하게 합니다.
임포트 시스템
import 문
import 문을 사용하면 QML 문서 내에 QML 모듈, JavaScript 파일 및 ECMAScript 모듈을 포함할 수 있습니다. 이 문은 문서의 범위 내에서 사용할 수 있는 유형과 기능을 정의합니다.
QML 문서 디렉터리를 임포트하면 모듈을 명시적으로 정의하지 않고도 디렉터리 내의 모든 QML 유형을 임포트할 수 있습니다. 이는 개발 과정에서 프로젝트 내에서 QML 컴포넌트를 공유하는 데 유용합니다.
'QML에서 JavaScript 리소스 가져오기'에서는 JavaScript 관점에서 JavaScript 파일을 포함하는 방법을 설명합니다. 여기에는 QML 문서나 다른 JavaScript 파일로 가져오는 방법이 포함됩니다.
고급 언어 기능
속성 가림 및 재정의 의미론
'속성 차폐 및 재정의 의미론'에서는 파생 유형이 기본 유형의 속성을 재정의할 때 발생하는 현상을 설명합니다. 이러한 의미론을 이해하는 것은 올바른 상속과 컴포넌트 사용자 지정을 위해 매우 중요합니다.
범위 및 이름 해결
'범위 및 이름 해결'에서는 QML이 중첩된 객체 계층 구조에서 식별자와 속성을 어떻게 해결하는지 설명합니다. 여기에는 ID 범위, 컨텍스트 속성 및 JavaScript 범위 체인에 대한 이해가 포함됩니다.
리소스 로딩 및 네트워크 투명성
'리소스 로딩 및 네트워크 투명성'에서는 QML이 동일한 구문을 사용하여 로컬 파일이나 네트워크 URL에서 리소스를 로딩하는 방법을 보여줍니다. 이를 통해 원격 콘텐츠를 원활하게 통합할 수 있으며 자산 관리가 간소화됩니다.
‘QML 참조’ 및 ‘QML 유형 시스템’도 참조하십시오 .
© 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.