Unerstellbarer Typ
Diese Warnkategorie wird von qmllint mit [uncreatable-type]
geschrieben.
Namespace muss mit einem Großbuchstaben beginnen
Was ist passiert?
Sie haben ein QML-Objekt aus einem Namespace mit Kleinbuchstaben verwendet.
Warum ist das schlecht?
Die QML-Sprache verbietet Namespaces in Kleinbuchstaben.
Beispiel
import QtQuick as quick quick.Item { ... }
Um die Warnung zu beheben, benennen Sie den Namespace so um, dass er mit einem Großbuchstaben beginnt:
import QtQuick as Quick Quick.Item { ... }
Singleton-Typ ist nicht erzeugbar
Was ist passiert?
Sie haben versucht, ein QML-Objekt aus einem Singleton-Typ zu instanziieren.
Warum ist das schlecht?
Die QML-Sprache verbietet die Instanziierung von Singletons.
Beispiel
import QtQuick Item { Qt { // note: Qt is a singleton type id: qt } property string someProperty: qt.uiLanguage }
Um die Warnung zu beheben, verwenden Sie das Singleton direkt, ohne es zu instanzieren:
Typ ist nicht erzeugbar
Was ist passiert?
Sie haben versucht, ein QML-Objekt aus einem uncreatable type zu instanziieren.
Warum ist das schlecht?
Nicht erzeugbare Typen sind speziell gekennzeichnet, um Instanzen zu verbieten. Sie könnten einen Typ missbrauchen, der nur als angehängter Typ oder als Schnittstelle verwendet werden sollte.
Beispiel
Missbräuchliche Verwendung eines angehängten Typs
import QtQuick Item { Keys { onPressed: function (key) { ... } } }
Um die Warnung zu beheben, verwenden Sie den Keys
angehängten Typ, anstatt ihn zu instanziieren:
import QtQuick Item { Keys.onPressed: function (key) { ... } }
Missbrauch von Schnittstellen
import QtQuick Item { property PointerHandler myHandler: PointerHandler {} }
Um die Warnung zu beheben, verwenden Sie einen spezifischeren abgeleiteten Typ wie TapHandler
:
import QtQuick Item { property PointerHandler myHandler: TapHandler {} }
© 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.