型が互換性なし
この警告カテゴリは、qmllint では「[incompatible-type] 」と表記されます。
互換性のない型のデフォルトプロパティへの代入はできません
何が起きたのか?
互換性のない型のデフォルトプロパティにオブジェクトを代入しました。
なぜ問題なのでしょうか?
QML エンジンは、実行時にそのオブジェクトを代入することができません。
例
import QtQuick
Item {
component MyType: QtObject {
default property list<Item> myDefaultProperty
}
MyType {
QtObject {} // note: QtObject does not inherit from Item
}
}この警告を解消するには、プロパティに互換性のある型をバインドするか、デフォルトプロパティの作成者である場合は、定義内の型を変更してください:
import QtQuick
Item {
component MyType: QtObject {
default property list<Item> myDefaultProperty
}
MyType {
Item {}
}
component AlternativeMyType: QtObject {
default property list<QtObject> myDefaultProperty
}
AlternativeMyType {
QtObject {} // is ok for AlternativeMyType
}
}プロパティのオンバインドの型が間違っています
何が起きたのですか?
無効なプロパティ修飾子の型を使用しました。
なぜ問題になるのか?
QML エンジンは、実行時にそのプロパティ修飾子の型を使用できなくなります。
例
import QtQuick
Item {
property int xxx
Item on xxx { ... }
}この警告を解消するには、on を削除するか、有効なプロパティ修飾子タイプを使用してください:
import QtQuick
Item {
property int xxx
Item { ... }
// Alternative: use a valid property modifier type
NumberAnimation on xxx { ... }
}文字列からの生成は非推奨です。代わりに構造化値型の生成を使用してください
何が起きたのですか?
文字列を使用してQML_STRUCTURED_VALUE を生成しました。
なぜ問題なのでしょうか?
これは非推奨であり、タイプミスが起きやすいからです。
例
この警告を解消するには、プロパティに文字列をバインドするのではなく、「QML_STRUCTURED_VALUE 」の説明に従って構造化値型に値を代入してください:
戻り値の型アノテーションがない関数は
何が起きたのですか?
戻り値の型が指定されていない関数から値を返しました。
なぜ問題なのでしょうか?
関数に何も返さないという注釈を付けたため、その関数は何も返してはなりません。Qt Qml ツールは当該メソッドを処理できず、将来の Qt バージョンでは Qml エンジンが返り値を無視するようになります。
例
import QtQuick
Item {
function f(x: int) {
...
return x
}
}この警告を解消するには、関数のシグネチャを新しい戻り値の型に合わせて修正するか、戻り値を削除してください:
import QtQuick
Item {
function f(x: int): int {
...
return x
}
function alternativeF(x: int) {
...
return
}
}バインディング/オブジェクト/リテラルを代入できません
何が起きたのですか?
互換性のない型のプロパティに、オブジェクト、リテラル、または式をバインドしました。
なぜ問題になるのか?
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.