Nicht qualifiziert
Diese Warnkategorie wird von qmllint als „ [unqualified] “ bezeichnet.
Nicht qualifizierter Zugriff
Was ist passiert?
Sie haben auf ein übergeordnetes Element ohne dessen ID zugegriffen.
Warum ist das schlecht?
Dies erschwert die Lesbarkeit des Codes und beeinträchtigt die Leistung.
Beispiel
import QtQuick
Item {
property int helloWorld
Item {
property int unqualifiedAccess: helloWorld + 1 // not ok: Unqualified access here.
}
}Um diese Warnung zu beheben, verweise auf das übergeordnete Objekt anhand seiner ID. Falls das Objekt derzeit keine ID hat, musst du zunächst eine hinzufügen.
import QtQuick
Item {
id: root
property int helloWorld
Item {
property int unqualifiedAccess: root.helloWorld + 1 // ok: this access is qualified now!
}
}Unbekannter Geltungsbereich einer angehängten/gruppierten Eigenschaft
Was ist passiert?
Sie haben einen Typ für eine angehängte Eigenschaft oder eine gruppierte Eigenschaft verwendet, der nicht gefunden werden kann. Dies kann durch einen Tippfehler oder eine fehlende QML-Modulabhängigkeit verursacht werden.
Hinweis: Wenn Sie QML-Module mit externen Abhängigkeiten importieren, stellen Sie sicher, dass diese tatsächlich installiert sind und sich in einem Importpfad befinden.
Warum ist das ein Problem?
Komponenten mit unbekanntem Gültigkeitsbereich für angehängte Eigenschaften oder unbekannten gruppierten Eigenschaften werden zur Laufzeit nicht erstellt: Stattdessen werden sie als „null“ zurückgegeben.
Beispiel
Versuchen wir, die (nicht vorhandene) angehängte Eigenschaft „ Item “ oder die (nicht vorhandene) gruppierte Eigenschaft „ grouped “ von „ Item “ zu verwenden:
import QtQuick
Item {
Item.helloAttached: 44 // not ok: unknown attached property scope Item. [unqualified]
grouped.helloGrouped: 44 // not ok: unknown grouped property scope grouped. [unqualified]
}Tatsächlich verfügt Item weder über einen angehängten Typ noch über eine gruppierte Eigenschaft namens item. Um diese Warnung zu beheben, entfernen Sie den angehängten Typ und die gruppierte Eigenschaft.
Informationen zur Verwendung von angehängten Eigenschaften finden Sie unter „Angehängte Eigenschaften“ und „Angehängte Signal-Handler“, Informationen zur Verwendung von gruppierten Eigenschaften unter „Gruppierte Eigenschaften “.
Kein passendes Signal für den Handler gefunden
Was ist passiert?
Sie haben einen Signal-Handler für ein Signal verwendet, das nicht gefunden werden kann. Dies kann durch einen Tippfehler im Signal-Handler oder durch eine fehlende QML-Modulabhängigkeit verursacht werden.
Hinweis: Der Name eines Signal-Handlers setzt sich aus „ on “ und dem Signalnamen in Großbuchstaben zusammen. So verarbeitet beispielsweise „ onHelloWorld “ das Signal „ helloWorld “ und „ on_helloWorld “ das Signal „ _helloWorld “.
Hinweis: Wenn Sie QML-Module mit externen Abhängigkeiten importieren, stellen Sie sicher, dass diese tatsächlich installiert sind und sich in einem Importpfad befinden.
Warum ist das problematisch?
Komponenten mit unbekannten Signal-Handlern werden zur Laufzeit nicht erstellt: Sie sind stattdessen null.
Beispiel
Versuchen wir, einen Signal-Handler für das (nicht vorhandene) Signal „ mySignal “ zu schreiben:
import QtQuick
Item {
onMySignal: console.log("hello") // not ok: no matching signal found for handler "onMySignal" [unqualified]
}Tatsächlich verfügt dieses „ Item “ über kein Signal namens „ mySignal “. Um diese Warnung zu beheben, entfernen Sie den Signal-Handler oder fügen Sie das fehlende Signal hinzu.
Die implizite Definition von Signal-Handlern in „Connections“ ist veraltet
Was ist passiert?
Sie haben einen Signal-Handler für den Typ „ Connections “ verwendet.
Warum ist das problematisch?
Dies ist veraltet.
Beispiel
import QtQuick
Window {
id: root
property int myInt
Connections {
target: root
onMyIntChanged: console.log("new int", myInt)
}
}Um diese Warnung zu beheben, ersetzen Sie die Signal-Handler-Bindung durch eine Funktion:
import QtQuick
Window {
id: root
property int myInt
Connections {
target: root
function onMyIntChanged() { console.log("new int", myInt) }
}
}Siehe auch QML-Codierungskonventionen – Unqualifizierter Zugriff.
© 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.