레거시 모듈
레거시 모듈은 사양 qmldir
파일에 모듈 식별자 지시어가 포함되지 않은 모듈입니다. 레거시 모듈은 QML 가져오기 경로에 설치되거나(설치된 레거시 모듈) 클라이언트가 상대 가져오기를 통해 가져올 수 있습니다(위치한 레거시 모듈). 클라이언트는 가능하면 레거시 모듈을 사용하지 않는 것이 좋습니다. 모듈 개발자는 레거시 모듈이 아닌 식별된 모듈을 만들어야 합니다.
설치된 레거시 모듈
설치된 식별되지 않은 모듈은 QML 엔진에 의해 자동으로 식별자가 부여됩니다. 이 암시적으로 정의된 식별자는 디렉토리 구분 문자가 마침표 문자로 대체된 모듈의 설치 경로(QML 가져오기 경로 기준)와 동일합니다.
QML 가져오기 경로에 설치되는 식별되지 않은 모듈은 다음과 같은 의미를 갖습니다:
- 클라이언트가 암시적 모듈 식별자를 통해 가져올 수 있습니다.
- 클라이언트는 모듈을 가져올 때 버전을 지정해야 합니다.
- 충돌하는 유형 이름은 QML 엔진에 의해 임의로 해결되며, 충돌이 해결되는 방식은 다른 버전의 QML 간에 동일하게 유지된다는 보장이 없습니다.
- 다른 레거시 모듈이 설치된 레거시 모듈에서 제공한 유형 정의를 수정하거나 재정의할 수 있습니다.
위치한 레거시 모듈
상대 디렉터리 경로 임포트 문을 통해 임포트되는 식별되지 않은 모듈은 엔진에서 위치 레거시 모듈로 로드됩니다. 위치 레거시 모듈에는 다음과 같은 의미가 적용됩니다:
- 클라이언트가 상대적인 임포트 경로를 통해 임포트할 수 있습니다.
- 클라이언트가 모듈을 임포트할 때 버전을 지정하는 것은 필수가 아닙니다.
- 클라이언트가 임포트 문에 임포트 버전을 제공하지 않으면, 주어진 형 이름 정의의 어떤 버전을 임포트할 것인지에 대해 QML 엔진이 보장하지 않습니다.
- 충돌하는 유형 이름은 QML 엔진에 의해 임의로 해결되며, 충돌이 해결되는 방식은 다른 버전의 QML 간에 동일하게 유지된다는 보장이 없습니다.
- 다른 레거시 모듈이 위치한 레거시 모듈에서 제공한 유형 정의를 수정하거나 재정의할 수 있습니다.
위치한 레거시 모듈은 로컬 파일 시스템 또는 네트워크에 있을 수 있으며 파일 시스템 경로 또는 네트워크 URL을 지정하는 URL로 참조할 수 있습니다.
© 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.