Auf dieser Seite

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.