Unqualifiziert
Diese Warnkategorie wird von qmllint mit [unqualified]
geschrieben.
Unqualifizierter Zugriff
Was ist passiert?
Sie haben auf ein übergeordnetes Element ohne dessen id zugegriffen.
Warum ist das schlecht?
Dies macht den Code schwerer lesbar 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, verweisen Sie auf das übergeordnete Objekt über die id. Sie müssen zuerst eine id hinzufügen, wenn das Objekt derzeit keine hat.
import QtQuick Item { id: root property int helloWorld Item { property int unqualifiedAccess: root.helloWorld + 1 // ok: this access is qualified now! } }
Unbekannter angehängter/gruppierter Eigenschaftsbereich
Was ist passiert?
Sie haben einen angehängten Eigenschaftstyp oder eine gruppierte Eigenschaft verwendet, die nicht gefunden werden kann. Dies kann durch einen Tippfehler oder eine fehlende QML-Modul-Abhä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 schlecht?
Komponenten mit unbekannten angehängten Eigenschaftsbereichen oder unbekannten gruppierten Eigenschaften werden zur Laufzeit nicht erstellt: Sie sind stattdessen null.
Beispiel
Versuchen wir, die (nicht vorhandene) angehängte Eigenschaft von 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] }
In der Tat hat Item weder einen angehängten Typ noch eine gruppierte Eigenschaft namens item
. Um diese Warnung zu beheben, entfernen Sie den angehängten Typ und die gruppierte Eigenschaft.
Siehe angehängte Eigenschaften und angehängte Signalhandler zur Verwendung von angehängten Eigenschaften und gruppierte Eigenschaften zur Verwendung von gruppierten Eigenschaften.
Kein passendes Signal für Handler gefunden
Was ist passiert?
Sie haben einen Signalhandler für ein Signal verwendet, das nicht gefunden werden kann. Dies kann durch einen Tippfehler im Signal-Handler oder durch eine fehlende QML-Modul-Abhängigkeit verursacht werden.
Hinweis: Der Name eines Signalhandlers ist on
in Verbindung mit dem großgeschriebenen Signalnamen. onHelloWorld
behandelt beispielsweise das Signal helloWorld
und on_helloWorld
behandelt _helloWorld
.
Hinweis: Wenn Sie QML-Module mit externen Abhängigkeiten importieren, vergewissern Sie sich, dass diese tatsächlich installiert sind und sich in einem Importpfad befinden.
Warum ist das schlecht?
Komponenten mit unbekannten Signalhandlern werden zur Laufzeit nicht erstellt: Sie sind stattdessen null.
Beispiel
Versuchen wir, einen Signalhandler 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] }
In der Tat hat dieses Item kein Signal namens mySignal
. Um diese Warnung zu beheben, entfernen Sie den Signalhandler oder fügen Sie das fehlende Signal hinzu.
Die implizite Definition von Signal-Handlern in Connections ist veraltet
Was ist passiert?
Sie haben einen Signalhandler für einen Connections Typ verwendet.
Warum ist das schlecht?
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 Signalhandler-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 Coding Conventions - Unqualifizierter Zugriff.
© 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.