Type non résolu
Cette catégorie d'avertissement est désignée par qmllint sous le nom « [unresolved-type] ».
Cette catégorie contient les avertissements suivants :
- Le type est utilisé mais n'est pas résolu
- Le type n'a pas été trouvé pour le type de retour de la méthode
- Le type n’a pas été trouvé pour le type du paramètre de la méthode
- Le type de la propriété est incomplet ; il vous manque peut-être une importation
- Type de la propriété introuvable ; cela est probablement dû à une entrée de dépendance manquante ou à un type non exposé de manière déclarative
- Le type de la propriété n'est pas entièrement résolu ; cela est probablement dû à une entrée de dépendance manquante ou à un type non exposé de manière déclarative
- Type introuvable dans l'espace de noms
Ces avertissements indiquent généralement des importations manquantes ou des modules QML défectueux, selon que vous utilisez ou écrivez un module QML.
Pour les utilisateurs de modules QML
Que s'est-il passé ?
Vous avez utilisé un type qui n'a pas été détecté par les outils QML. Cela indique généralement une faute de frappe potentielle, une importation manquante ou des chemins d'importation mal configurés.
Pourquoi est-ce un problème ?
Le type ne peut pas être détecté par les outils QML, et très probablement pas non plus par le moteur QML.
Exemples
Faute de frappe
import QtQuick
Itme { ... } // misspelling of ItemPour corriger cet avertissement, corrigez la faute de frappe :
import QtQuick
Item { ... }Déclaration d'import manquante
Item { ... }Pour résoudre cet avertissement, importez le module qui expose l'Item:
import QtQuick
Item { ... }Si l'ajout de la déclaration d'importation ne résout pas le problème, vérifiez vos chemins d'importation.
Si vous recevez cet avertissement via QML Language Server, votre configuration est peut-être incomplète.
À l'attention des auteurs de modules QML
Que s'est-il passé ?
Les outils QML ne parviennent pas à trouver un type dans votre module QML. Il peut s'agir d'un type que vous exposez à QML directement ou indirectement en l'utilisant comme :
- Type de base
- Type de propriété
- Type de signal, de slot ou de paramètre d’
Q_INVOKABLE Q_INVOKABLEtype de retour
Il se peut qu’un enregistrement de type déclaratif fasse défaut si le type non résolu est exposé par votre module.
Sinon, votre module QML pourrait avoir des dépendances non déclarées vis-à-vis du module QML exposant le type non résolu.
Pourquoi est-ce un problème ?
Les outils QML ne fonctionneront pas sur vos types et les utilisateurs de votre module QML recevront de faux avertissements qu’ils ne pourront pas corriger.
Exemples
Enregistrement de type manquant
Reportez-vous à la section « Définition de types QML depuis C++ » pour savoir comment enregistrer vos types de manière déclarative. Assurez-vous que tous les types et énumérations exposés directement ou indirectement à QML sont enregistrés.
Dépendance de module QML manquante
Soit MyItem un type C++ dans votre module QML :
class MyItem: public QQuickItem {
...
QML_ELEMENT
...
Q_PROPERTY(SomeType someProperty READ someProperty WRITE setSomeProperty NOTIFY somePropertyChanged)
...
}Les outils QML ne peuvent pas résoudre correctement MyItem s’ils ne peuvent pas d’abord résoudre QQuickItem ou SomeType. Si QQuickItem se trouve dans le module QML QtQuick et SomeType dans SomeModule, vous devez alors indiquer ces dépendances C++ dans la définition du module QML.
Pour ce faire, ajoutez les dépendances à la définition du module QML. Cela peut être effectué à l’aide de ` DEPENDENCIES`, par exemple :
qt_add_qml_module(
...
DEPENDENCIES
QtQuick # for QQuickItem to be resolved
SomeModule # for SomeType to be resolved
)Pour plus d’informations, consultez la section Déclaration des dépendances C++ entre modules 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.