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 ItemUm 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_INVOKABLERü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.