Eingeschränkter Typ
Diese Warnungskategorie wird von qmllint als „ [restricted-type] “ bezeichnet.
Von hier aus können Sie nicht auf eine Enumeration ohne Gültigkeitsbereich zugreifen
Was ist passiert?
Sie haben auf den Wert einer in C++ definierten Enumeration über deren Enumerationstypnamen zugegriffen.
Warum ist das ein Problem?
Auf in C++ definierte Enums ohne Gültigkeitsbereich kann nicht über ihren Enum-Typnamen zugegriffen werden. Sie sind zur Laufzeit undefiniert.
Beispiel
wobei „MyClass“ wie folgt definiert ist
class MyClass: public QObject
{
Q_OBJECT
QML_ELEMENT
public:
enum Hello { World };
Q_ENUM(Hello);
...
};Um diese Warnung zu beheben, entfernen Sie den überflüssigen Enum-Typnamen aus der Verwendung in QML:
Wenn Sie der Autor der Enumeration sind, können Sie auch die Enumerationsdefinition so ändern, dass eine Enumerationsklasse verwendet wird, anstatt den QML-Code zu ändern:
class MyClass: public QObject
{
Q_OBJECT
QML_ELEMENT
public:
enum class Hello { World };
Q_ENUM(Hello);
...
};Hinweis: Weitere Informationen zur Registrierung von Enum-Typen findenSie hier.
© 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.