QML 타입 시스템
QML 문서에서 객체 계층 구조 정의에 사용될 수 있는 유형은 다양한 소스에서 가져올 수 있습니다. 다음과 같은 것들이 있을 수 있습니다:
- QML 언어에서 기본적으로 제공
- QML 모듈에 의해 C++를 통해 등록됨
- QML 모듈에 의해 QML 문서로 제공되는 경우
또한 애플리케이션 개발자는 C++ 유형을 직접 등록하거나 재사용 가능한 컴포넌트를 QML 문서에 정의하여 가져올 수 있는 자체 유형을 제공할 수 있습니다.
유형 정의의 출처가 어디든 엔진은 해당 유형의 프로퍼티와 인스턴스에 대해 유형 안전성을 적용합니다.
QML 값 유형
QML 언어에는 정수, 배정밀도 부동 소수점 숫자, 문자열, 부울 값 등 다양한 기본 유형이 기본으로 지원됩니다. 객체는 이러한 유형의 속성을 가질 수 있으며, 이러한 유형의 값은 객체의 메서드에 대한 인수로 전달될 수 있습니다.
값 유형에 대한 자세한 내용은 QML 값 유형 설명서를 참조하세요.
QML 객체 유형
QML 객체 유형은 QML 객체를 인스턴스화할 수 있는 유형입니다. QML 객체 유형은 QtObject 에서 파생되며, QML 모듈에서 제공됩니다. 애플리케이션은 이러한 모듈을 임포트하여 해당 모듈이 제공하는 객체 유형을 사용할 수 있습니다. QtQuick
모듈은 QML에서 사용자 인터페이스를 만드는 데 필요한 가장 일반적인 객체 유형을 제공합니다.
마지막으로 모든 QML 문서는 다른 QML 문서에서 재사용할 수 있는 QML 객체 유형을 암시적으로 정의합니다. 객체 유형에 대한 자세한 내용은 QML 유형 시스템의 객체 유형에 대한 설명서를 참조하세요.
QML 시퀀스 유형
시퀀스 유형은 값 또는 객체의 시퀀스를 저장하는 데 사용할 수 있습니다.
시퀀스 유형에 대한 자세한 내용은 QML 유형 시스템의 시퀀스 유형에 대한 문서를 참조하세요.
QML 네임스페이스
QML 네임스페이스는 C++ 네임스페이스에서 열거형을 노출하는 데 사용할 수 있습니다.
네임스페이스에 대한 자세한 내용은 QML 타입 시스템의 네임스페이스에 대한 문서를 참조하십시오.
JavaScript 유형
JavaScript 객체와 배열은 QML 엔진에서 지원됩니다. 모든 표준 JavaScript 유형은 일반 var 유형을 사용하여 생성 및 저장할 수 있습니다.
예를 들어 아래와 같이 표준 Date
및 Array
유형을 사용할 수 있습니다:
import QtQuick Item { property var theArray: [] property var theDate: new Date() Component.onCompleted: { for (var i = 0; i < 10; i++) theArray.push("Item " + i) console.log("There are", theArray.length, "items in the array") console.log("The time is", theDate.toUTCString()) } }
자세한 내용은 QML 문서의 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.