Inkompatibler Typ
Diese Warnkategorie wird von qmllint mit [incompatible-type]
angegeben.
Kann der Standardeigenschaft eines inkompatiblen Typs nicht zugewiesen werden
Was ist passiert?
Sie haben ein Objekt einer Standardeigenschaft eines inkompatiblen Typs zugewiesen.
Warum ist das schlecht?
Die QML-Engine ist nicht in der Lage, das Objekt zur Laufzeit zuzuweisen.
Beispiel
import QtQuick Item { component MyType: QtObject { default property list<Item> myDefaultProperty } MyType { QtObject {} // note: QtObject does not inherit from Item } }
Um diese Warnung zu beheben, binden Sie einen kompatiblen Typ an die Eigenschaft oder, wenn Sie der Autor der Standardeigenschaft sind, ändern Sie den Typ in der Definition:
import QtQuick Item { component MyType: QtObject { default property list<Item> myDefaultProperty } MyType { Item {} } component AlternativeMyType: QtObject { default property list<QtObject> myDefaultProperty } AlternativeMyType { QtObject {} // is ok for AlternativeMyType } }
On-binding für Eigenschaft hat falschen Typ
Was ist passiert?
Sie haben einen ungültigen Eigenschaftsmodifikator-Typ verwendet.
Warum ist das schlecht?
Die QML-Engine ist nicht in der Lage, den Typ des Eigenschaftsmodifikators zur Laufzeit zu verwenden.
Beispiel
import QtQuick Item { property int xxx Item on xxx { ... } }
Um diese Warnung zu beheben, entfernen Sie die on
oder verwenden Sie einen gültigen Eigenschaftsmodifikator-Typ:
import QtQuick Item { property int xxx Item { ... } // Alternative: use a valid property modifier type NumberAnimation on xxx { ... } }
Construction from string is deprecated; Use structured value type construction instead
Was ist passiert?
Sie haben eine QML_STRUCTURED_VALUE mit einer Zeichenkette konstruiert.
Warum ist das schlecht?
Dies ist veraltet und anfällig für Tippfehler.
Beispiel
Um diese Warnung zu beheben, füllen Sie den Typ des strukturierten Werts wie in der Beschreibung von QML_STRUCTURED_VALUE erläutert auf, anstatt eine Zeichenfolge an die Eigenschaft zu binden:
Funktion ohne Rückgabetyp-Annotation gibt zurück
Was ist passiert?
Sie haben einen Wert aus einer Funktion ohne Rückgabetyp-Annotation zurückgegeben.
Warum ist das schlecht?
Sie haben die Funktion so beschriftet, dass sie nichts zurückgibt, also sollte die Funktion auch nichts zurückgeben. Das QML-Tooling wird die Methode nicht verarbeiten können und die QML-Engine wird den zurückgegebenen Wert in einer zukünftigen Qt-Version ignorieren.
Beispiel
import QtQuick Item { function f(x: int) { ... return x } }
Um diese Warnung zu beheben, passen Sie die Funktionssignatur an den neuen Rückgabetyp an oder entfernen Sie den Rückgabewert:
import QtQuick Item { function f(x: int): int { ... return x } function alternativeF(x: int) { ... return } }
Kann Bindung/Objekt/Literal nicht zuweisen
Was ist passiert?
Sie haben ein Objekt, ein Literal oder einen Ausdruck an eine Eigenschaft eines inkompatiblen Typs gebunden.
Warum ist das schlecht?
Die QML-Engine ist nicht in der Lage, das Objekt, das Literal oder den Ausdruck zur Laufzeit zuzuweisen.
Beispiel
Um diese Warnung zu beheben, binden Sie ein Objekt, einen Wert oder einen Ausdruck eines kompatiblen Typs:
© 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.