Eingeschränkter Typ
Diese Warnkategorie wird von qmllint mit [restricted-type]
geschrieben.
Sie können von hier aus nicht auf ein unscoped enum zugreifen
Was ist passiert?
Sie haben auf den Wert einer in C++ definierten Aufzählung über ihren Aufzählungstypnamen zugegriffen.
Warum ist das schlecht?
Auf in C++ definierte unscoped enums kann nicht über ihren enum type name zugegriffen werden. Sie werden zur Laufzeit undefiniert sein.
Beispiel
wobei MyClass definiert ist als
class MyClass: public QObject { Q_OBJECT QML_ELEMENT public: enum Hello { World }; Q_ENUM(Hello); ... };
Um diese Warnung zu beheben, entfernen Sie den unnötigen Enum-Typ-Namen aus seiner QML-Verwendung:
Wenn Sie der Autor der Enum sind, können Sie auch die Enum-Definition ändern, um eine Enum-Klasse zu verwenden, 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 über die Registrierung von Enum-Typen finden Sie hier.
© 2025 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.