Syntaxe
Cette catégorie d'avertissement est orthographiée « [syntax] » par qmllint.
Les composants inline imbriqués ne sont pas pris en charge
Que s'est-il passé ?
Vous avez défini un composant en ligne à l'intérieur d'un autre composant en ligne.
Pourquoi est-ce un problème ?
Le langage QML n'autorise pas les composants inline imbriqués. Définissez toujours les composants inline à l'intérieur de l'élément racine du fichier QML.
Exemple
import QtQuick
Item {
component Correct: Item {
component Evil: Item { ... }
...
}
}Pour corriger cet avertissement, déplacez tous les composants vers l’élément racine du fichier QML.
import QtQuick
Item {
component NotEvilAnymore: Item { ... }
component Correct: Item {
...
}
}La déclaration d'un composant inline doit être suivie d'un nom de type
Que s'est-il passé ?
Vous avez défini un composant en ligne avec un type de base non valide.
Pourquoi est-ce un problème ?
Les composants en ligne ont besoin d'un type de base dont ils peuvent hériter.
Exemple
Dans ce cas, « someProperty » n'est pas un nom de type valide, car il s'agit d'un nom de propriété. Pour corriger cet avertissement, utilisez un type valide comme type de base du composant :
import QtQuick
Item {
property Item someProperty
component InlineComponent: Item { ... }
}Expression d'alias non valide : un initialiseur est nécessaire
Que s'est-il passé ?
Vous avez défini un alias de propriété sans la propriété à laquelle il fait référence.
Pourquoi est-ce un problème ?
Les propriétés d'alias doivent toujours comporter la propriété ou l'identifiant qu'elles désignent dans leur définition.
Exemple
Pour corriger cet avertissement, remplacez l'alias par une propriété normale ou ajoutez la propriété référencée manquante :
import QtQuick
Item {
id: root
property int someProperty
property alias withAliasedProperty: root.someProperty
}Expression d'alias non valide : seuls les identifiants et les expressions de membre de champ peuvent faire l'objet d'un alias
Que s'est-il passé ?
Vous avez défini un alias de propriété qui fait référence à une expression autre qu'un identifiant ou une expression de membre de champ.
Une expression de membre de champ est une expression de la forme someId.someProperty.
Pourquoi est-ce un problème ?
Les propriétés d'alias doivent toujours inclure la propriété à laquelle elles renvoient dans leur définition, et ne peuvent pas être liées à d'autres expressions que des identifiants et des expressions de membre de champ.
Exemple
Pour corriger cet avertissement, remplacez l'alias par une propriété normale ou liez-le à un identifiant ou à une expression de membre de champ :
import QtQuick
Item {
id: root
property int p
property int someProperty: p + 1
property alias alternative: root.p
}L'identifiant doit être suivi d'un identifiant
Que s'est-il passé ?
Vous avez défini un identifiant sans valeur.
Pourquoi est-ce un problème ?
Le langage QML n'autorise pas les identifiants vides.
Exemple
import QtQuick
Item {
id:;
}Pour corriger cet avertissement, associez l'identifiant à un nom valide :
import QtQuick
Item {
id: root;
}Échec de l'analyse de l'identifiant
Que s'est-il passé ?
Vous avez lié un identifiant à une expression autre qu'un nom.
Pourquoi est-ce un problème ?
Le langage QML n'autorise que des noms comme liaisons aux identifiants ; les expressions plus complexes ne peuvent pas être utilisées.
Exemple
import QtQuick
Item {
property int a
property int b
function f() {
if (true)
return a
return b
}
id: f()
}Pour corriger cet avertissement, liez l'identifiant à un nom valide ou déclarez une propriété et configurez une liaison :
import QtQuick
Item {
property int a
property int b
function f() {
if (true)
return a
return b
}
id: someItem // it would be confusing to call it `f` like the function
property int alternative: f()
}Déclaration d’un objet qui n’est pas un objet QML en tant que membre d’une liste
Que s'est-il passé ?
Vous avez ajouté une expression autre qu'un objet dans une liste d'objets.
Pourquoi est-ce un problème ?
Le langage QML n'autorise que des objets dans les listes d'objets.
Exemple
Pour corriger cet avertissement, utilisez un type d'objet valide ou supprimez l'élément de la liste :
Argument inconnu pour pragma
Que s'est-il passé ?
Vous avez spécifié un argument non valide pour un pragma.
Pourquoi est-ce un problème ?
Le pragma n'aura aucun effet.
Exemple
pragma ComponentBehavior: Buond
import QtQuick
Item {
}Vous pouvez corriger cet avertissement en supprimant le pragma ou en corrigeant une éventuelle faute de frappe :
pragma ComponentBehavior: Bound
import QtQuick
Item {
}© 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.