このページでは

未解決の型

この警告カテゴリは、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 に公開している型である可能性があります:

  • 基底型
  • プロパティ型
  • シグナル、スロット、または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 にある場合、これらのC++依存関係をQMLモジュール定義で明示する必要があります。

これを行うには、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.