Auf dieser Seite

Unbehandelter Typ

Diese Warnkategorie wird von qmllint als „ [unresolved-type] “ bezeichnet.

Diese Kategorie enthält folgende Warnungen:

  • Typ wird verwendet, ist aber nicht aufgelöst
  • Typ für den Rückgabetyp der Methode wurde nicht gefunden
  • Für den Typ des Parameters in der Methode wurde kein Typ gefunden
  • Die Eigenschaft hat einen unvollständigen Typ; möglicherweise fehlt ein Import
  • Typ der Eigenschaft nicht gefunden; dies liegt wahrscheinlich an einem fehlenden Abhängigkeitseintrag oder daran, dass ein Typ nicht deklarativ offengelegt wurde
  • Der Typ der Eigenschaft wurde nicht vollständig aufgelöst; dies liegt wahrscheinlich an einem fehlenden Abhängigkeitseintrag oder daran, dass ein Typ nicht deklarativ offengelegt wurde
  • Typ im Namespace nicht gefunden

Diese Warnungen weisen in der Regel auf fehlende Importe oder fehlerhafte QML-Module hin, je nachdem, ob Sie ein QML-Modul verwenden oder erstellen.

Für Nutzer von QML-Modulen

Was ist passiert?

Sie haben einen Typ verwendet, der von den QML-Werkzeugen nicht gefunden wurde. Dies deutet in der Regel auf einen möglichen Tippfehler, einen fehlenden Import oder falsch eingerichtete Importpfade hin.

Warum ist das ein Problem?

Der Typ kann von den QML-Tools nicht gefunden werden und höchstwahrscheinlich auch nicht von der QML-Engine.

Beispiele

Tippfehler

import QtQuick

Itme { ... } // misspelling of Item

Um diese Warnung zu beheben, korrigieren Sie den Tippfehler:

import QtQuick

Item { ... }

Fehlende Import-Anweisung

Item { ... }

Um diese Warnung zu beheben, importieren Sie das Modul, das „ Item “ bereitstellt:

import QtQuick

Item { ... }

Falls das Hinzufügen der Importanweisung nicht hilft, überprüfen Sie Ihre Importpfade.

Wenn Sie diese Warnung über „ QML Language Server “ erhalten, ist Ihre Konfiguration möglicherweise unvollständig.

Für Autoren von QML-Modulen

Was ist passiert?

Die QML-Tools können einen Typ in Ihrem QML-Modul nicht finden. Dabei kann es sich um einen Typ handeln, den Sie direkt oder indirekt für QML bereitstellen, indem Sie ihn als Folgendes verwenden:

  • Basistyp
  • Eigenschaftstyp
  • Signal, Slot oder Parametertyp für „ Q_INVOKABLE “
  • Q_INVOKABLE Rückgabetyp

Möglicherweise fehlt eine deklarative Typregistrierung, wenn der nicht aufgelöste Typ von Ihrem Modul bereitgestellt wird.

Andernfalls könnte Ihr QML-Modul über nicht deklarierte Abhängigkeiten zu dem QML-Modul verfügen, das den nicht aufgelösten Typ bereitstellt.

Warum ist das ein Problem?

Die QML-Tools können Ihre Typen nicht verarbeiten, und Nutzer Ihres QML-Moduls erhalten irreführende Warnungen, die sie nicht beheben können.

Beispiele

Fehlende Typregistrierung

Lesen Sie den Abschnitt „Definieren von QML-Typen aus C++“, um zu erfahren, wie Sie Ihre Typen deklarativ registrieren können. Stellen Sie sicher, dass alle Typen und Enums, die QML direkt oder indirekt zur Verfügung gestellt werden, registriert sind.

Fehlende Abhängigkeit vom QML-Modul

Angenommen, „ MyItem “ ist ein C++-Typ in Ihrem QML-Modul:

class MyItem: public QQuickItem {
    ...
    QML_ELEMENT
    ...
    Q_PROPERTY(SomeType someProperty READ someProperty WRITE setSomeProperty NOTIFY somePropertyChanged)
    ...
}

Die QML-Tools können „ MyItem “ nicht korrekt auflösen, wenn sie nicht zuvor „ QQuickItem “ oder „ SomeType “ auflösen können. Befindet sich „ QQuickItem “ im QML-Modul „ QtQuick “ und „ SomeType “ in „ SomeModule “, müssen Sie diese C++-Abhängigkeiten in der QML-Moduldefinition angeben.

Fügen Sie dazu die Abhängigkeiten zur QML-Moduldefinition hinzu. Dies kann beispielsweise mit ` DEPENDENCIES` erfolgen:

qt_add_qml_module(
    ...
    DEPENDENCIES
        QtQuick # for QQuickItem to be resolved
        SomeModule # for SomeType to be resolved
)

Weitere Informationen finden Sie unter „Deklarieren von C++-Abhängigkeiten zwischen QML-Modulen “.

© 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.