Les énumérations ne sont pas des types
Cette catégorie d'avertissement est orthographiée « [enums-are-not-types] » par qmllint.
Les énumérations QML ne sont pas des types
Que s'est-il passé ?
Vous avez utilisé un nom d'énumération à l'intérieur d'une annotation de type.
Pourquoi est-ce un problème ?
Un nom d'énumération n'est pas un type et ne peut donc pas être utilisé dans une annotation de type. Les outils QML ne sont pas en mesure d'utiliser cette annotation de type : le compilateur ne peut pas compiler cette méthode en C++ et qmllint QML Language Server ne peut pas analyser cette méthode.
Exemple
// Main.qml
import QtQuick
Item {
enum HelloWorld { Hello, World }
function f(e: Main.HelloWorld): bool {
return e == World
}
}Pour corriger cet avertissement, remplacez le nom de l'énumération dans l'annotation de type par le type sous-jacent, par exemple int si le type sous-jacent nécessite au maximum 32 bits, ou sinon double, par exemple.
import QtQuick
Item {
enum HelloWorld { Hello, World }
function f(e: int): bool {
return e === World
}
}© 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.