이 페이지에서

해결되지 않은 유형

qmllint에서는 이 경고 범주를 ' [unresolved-type] '으로 표기합니다.

이 범주에는 다음 경고가 포함됩니다:

  • 유형이 사용되었으나 해결되지 않음
  • 메서드의 반환 유형에 해당하는 유형을 찾을 수 없음
  • 메서드 내 매개변수의 타입을 찾을 수 없음
  • 속성의 타입이 불완전합니다. 임포트 문이 누락되었을 수 있습니다
  • 속성의 타입을 찾을 수 없습니다. 이는 의존성 항목이 누락되었거나 타입이 선언적으로 노출되지 않았기 때문일 가능성이 높습니다
  • 속성의 유형이 완전히 해결되지 않았습니다. 이는 종속성 항목이 누락되었거나 유형이 선언적으로 노출되지 않았기 때문일 가능성이 높습니다.
  • 네임스페이스에서 유형을 찾을 수 없습니다

이러한 경고는 QML 모듈을 사용하는지 작성하는지에 따라 일반적으로 임포트 누락이나 결함이 있는 QML 모듈을 나타냅니다.

QML 모듈 사용자의 경우

무슨 일이 발생했나요?

QML 툴에서 찾을 수 없는 유형을 사용했습니다. 이는 대개 잠재적인 오타, 누락된 임포트 또는 잘못 설정된 임포트 경로를 나타냅니다.

이것이 왜 문제일까요?

QML 툴링에서 해당 타입을 찾을 수 없으며, QML 엔진에서도 찾을 수 없을 가능성이 높습니다.

예시

오타

import QtQuick

Itme { ... } // misspelling of Item

이 경고를 해결하려면 오타를 수정하십시오:

import QtQuick

Item { ... }

import 문 누락

Item { ... }

이 경고를 해결하려면 Item 을 노출하는 모듈을 임포트하십시오:

import QtQuick

Item { ... }

import 문 추가 후에도 문제가 해결되지 않으면, import 경로를 확인해 보십시오.

QML Language Server 를 통해 이 경고가 표시된다면, 설정이 불완전할 수 있습니다.

QML 모듈 작성자분들께

무슨 일이 발생한 것일까요?

QML 툴링이 QML 모듈에서 특정 타입을 찾을 수 없습니다. 이는 다음 중 하나로 사용함으로써 QML에 직접 또는 간접적으로 노출된 타입일 수 있습니다:

  • 기본 유형
  • 속성 유형
  • 신호(Signal), 슬롯(Slot) 또는 Q_INVOKABLE 매개변수 유형
  • Q_INVOKABLE 반환 유형

해결되지 않은 유형이 해당 모듈에서 노출된 것이라면, 선언적 유형 등록 이 누락되었을 수 있습니다.

그렇지 않은 경우, QML 모듈에 해결되지 않은 유형을 노출하는 QML 모듈에 대해 선언되지 않은 종속성이 있을 수 있습니다.

이것이 왜 문제일까요?

QML 툴링이 해당 유형에서 작동하지 않으며, QML 모듈 사용자는 해결할 수 없는 불필요한 경고를 받게 됩니다.

예시

누락된 유형 등록

유형을 선언적으로 등록하는 방법은 C++에서 QML 유형 정의하기를 참조하십시오. QML에 직접 또는 간접적으로 노출되는 모든 유형과 열거형이 등록되었는지 확인하십시오.

QML 모듈 종속성 누락

MyItem 를 QML 모듈 내의 C++ 타입으로 가정해 보겠습니다:

class MyItem: public QQuickItem {
    ...
    QML_ELEMENT
    ...
    Q_PROPERTY(SomeType someProperty READ someProperty WRITE setSomeProperty NOTIFY somePropertyChanged)
    ...
}

QML 툴링은 QQuickItem 또는 SomeType 을 먼저 해결할 수 없는 경우 MyItem 을 올바르게 해결할 수 없습니다. QQuickItem 이 QtQuick QML 모듈에 있고 SomeType 이 SomeModule 에 있다면, QML 모듈 정의에서 이러한 C++ 종속성을 명시해야 합니다.

이를 위해 QML 모듈 정의에 의존성을 추가하십시오. 이는 ` DEPENDENCIES`을 사용하여 수행할 수 있으며, 예를 들면 다음과 같습니다.

qt_add_qml_module(
    ...
    DEPENDENCIES
        QtQuick # for QQuickItem to be resolved
        SomeModule # for SomeType to be resolved
)

자세한 내용은 QML 모듈 간의 C++ 종속성 선언을 참조하십시오.

© 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.