자격을 갖추지 않음
qmllint에서는 이 경고 범주를 ' [unqualified] '로 표기합니다.
무격식 액세스
무슨 일이 발생했나요?
ID를 지정하지 않고 상위 요소에 접근했습니다.
왜 문제가 될까요?
이렇게 하면 코드의 가독성이 떨어지고 성능이 저하됩니다.
예시
import QtQuick
Item {
property int helloWorld
Item {
property int unqualifiedAccess: helloWorld + 1 // not ok: Unqualified access here.
}
}이 경고를 해결하려면 ID를 사용하여 상위 객체를 참조하십시오. 해당 객체에 현재 ID가 없다면 먼저 ID를 추가해야 합니다.
import QtQuick
Item {
id: root
property int helloWorld
Item {
property int unqualifiedAccess: root.helloWorld + 1 // ok: this access is qualified now!
}
}알 수 없는 첨부/그룹화된 속성 범위
무슨 일이 발생했나요?
찾을 수 없는 첨부 속성 유형 또는 그룹화된 속성을 사용했습니다. 이는 오타나 누락된 QML 모듈 종속성 때문일 수 있습니다.
참고: 외부 종속성이 있는 QML 모듈을 임포트하는경우 , 해당 모듈이 실제로 설치되어 있고 임포트 경로 내에 있는지 확인하십시오.
이 문제가 왜 심각한가요?
알 수 없는 부착 속성 범위나 알 수 없는 그룹화된 속성을 가진 컴포넌트는 런타임에 생성되지 않으며, 대신 null로 처리됩니다.
예시
Item 의 (존재하지 않는) 부착 속성이나 Item 의 (존재하지 않는) 그룹화된 속성 grouped 을 사용해 보겠습니다:
import QtQuick
Item {
Item.helloAttached: 44 // not ok: unknown attached property scope Item. [unqualified]
grouped.helloGrouped: 44 // not ok: unknown grouped property scope grouped. [unqualified]
}실제로 Item 에는 부착된 타입도 없고, item 라는 그룹화된 속성도 없습니다. 이 경고를 해결하려면 부착된 타입과 그룹화된 속성을 제거하십시오.
부착 속성의 사용 방법에 대해서는 '부착 속성 및 부착 신호 핸들러'를, 그룹화된 속성의 사용 방법에 대해서는 '그룹화된 속성'을 참조하십시오.
핸들러와 일치하는 신호를 찾을 수 없음
무슨 일이 발생한 것일까요?
찾을 수 없는 신호에 신호 핸들러 를 사용했습니다. 이는 신호 핸들러의 오타나 누락된 QML 모듈 종속성 때문일 수 있습니다.
참고: 시그널 핸들러의이름은 on 에 대문자로 표기된 시그널 이름을 연결한 형태입니다. 예를 들어, onHelloWorld 은 helloWorld 시그널을 처리하고, on_helloWorld 은 _helloWorld 시그널을 처리합니다.
참고: 외부 종속성이 있는 QML 모듈을 임포트하는경우 , 해당 모듈이 실제로 설치되어 있고 임포트 경로 내에 있는지 확인하십시오.
이것이 왜 문제가 될까요?
알 수 없는 신호 핸들러를 가진 컴포넌트는 런타임에 생성되지 않고 대신 null이 됩니다.
예
(존재하지 않는) 신호 mySignal 에 대한 신호 핸들러를 작성해 봅시다:
import QtQuick
Item {
onMySignal: console.log("hello") // not ok: no matching signal found for handler "onMySignal" [unqualified]
}실제로 이 ` Item `에는 ` mySignal`라는 신호가 없습니다. 이 경고를 해결하려면 신호 핸들러를 제거하거나 누락된 신호를 추가하십시오.
Connections에서 시그널 핸들러를 암시적으로 정의하는 것은 더 이상 권장되지 않습니다
무슨 일이 있었나요?
Connections 유형에 신호 핸들러를 사용했습니다.
왜 문제가 됩니까?
이는 더 이상 사용되지 않습니다.
예시
import QtQuick
Window {
id: root
property int myInt
Connections {
target: root
onMyIntChanged: console.log("new int", myInt)
}
}이 경고를 해결하려면 신호 핸들러 바인딩을 함수로 대체하십시오:
import QtQuick
Window {
id: root
property int myInt
Connections {
target: root
function onMyIntChanged() { console.log("new int", myInt) }
}
}참조: 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.