Syntax
Diese Warnkategorie wird von qmllint als „ [syntax] “ bezeichnet.
Verschachtelte Inline-Komponenten werden nicht unterstützt
Was ist passiert?
Sie haben eine Inline-Komponente innerhalb einer anderen Inline-Komponente definiert.
Warum ist das ein Problem?
Die Sprache QML lässt keine verschachtelten Inline-Komponenten zu. Definieren Sie Inline-Komponenten immer innerhalb des Root-Elements der QML-Datei.
Beispiel
import QtQuick
Item {
component Correct: Item {
component Evil: Item { ... }
...
}
}Um diese Warnung zu beheben, verschieben Sie alle Komponenten in das Stammelement der QML-Datei.
import QtQuick
Item {
component NotEvilAnymore: Item { ... }
component Correct: Item {
...
}
}Auf die Deklaration einer Inline-Komponente muss ein Typname folgen
Was ist passiert?
Sie haben eine Inline-Komponente mit einem ungültigen Basistyp definiert.
Warum ist das ein Problem?
Inline-Komponenten benötigen einen Basistyp, von dem sie erben können.
Beispiel
In diesem Fall ist „ someProperty “ kein gültiger Typname, da es sich um einen Eigenschaftsnamen handelt. Um diese Warnung zu beheben, verwende einen gültigen Typ als Basistyp der Komponente:
import QtQuick
Item {
property Item someProperty
component InlineComponent: Item { ... }
}Ungültiger Alias-Ausdruck: Ein Initialisierer ist erforderlich
Was ist passiert?
Sie haben einen Eigenschaftsalias ohne die damit verknüpfte Eigenschaft definiert.
Warum ist das ein Problem?
Alias-Eigenschaften müssen in ihrer Definition immer die Eigenschaft, auf die der Alias verweist, oder deren ID enthalten.
Beispiel
Um diese Warnung zu beheben, ersetzen Sie den Alias durch eine normale Eigenschaft oder fügen Sie die fehlende, als Alias verwendete Eigenschaft hinzu:
import QtQuick
Item {
id: root
property int someProperty
property alias withAliasedProperty: root.someProperty
}Ungültiger Alias-Ausdruck: Nur IDs und Feldmitgliedsausdrücke können als Alias verwendet werden
Was ist passiert?
Sie haben einen Eigenschaftsalias definiert, der einen Ausdruck als Alias verwendet, der weder eine ID noch ein Feldmitgliedsausdruck ist.
Ein Feldmitgliedsausdruck ist ein Ausdruck der Form „ someId.someProperty “.
Warum ist das ein Problem?
Alias-Eigenschaften müssen in ihrer Definition immer die Eigenschaft enthalten, auf die sie verweisen, und dürfen nicht an andere Ausdrücke als IDs und Feldmitgliedsausdrücke gebunden werden.
Beispiel
Um diese Warnung zu beheben, ersetzen Sie den Alias durch eine normale Eigenschaft oder binden Sie ihn an eine ID oder einen Feldmitgliedsausdruck:
import QtQuick
Item {
id: root
property int p
property int someProperty: p + 1
property alias alternative: root.p
}Auf eine ID muss ein Bezeichner folgen
Was ist passiert?
Sie haben eine ID ohne Wert definiert.
Warum ist das ein Problem?
Die Sprache QML erlaubt keine leeren IDs.
Beispiel
import QtQuick
Item {
id:;
}Um diese Warnung zu beheben, verknüpfen Sie die ID mit einem gültigen Namen:
import QtQuick
Item {
id: root;
}ID konnte nicht analysiert werden
Was ist passiert?
Sie haben eine ID an einen Ausdruck gebunden, der kein Name ist.
Warum ist das ein Problem?
Die Sprache QML erlaubt nur Namen als Bindungen an IDs; komplexere Ausdrücke können nicht verwendet werden.
Beispiel
import QtQuick
Item {
property int a
property int b
function f() {
if (true)
return a
return b
}
id: f()
}Um diese Warnung zu beheben, binden Sie die ID an einen gültigen Namen oder deklarieren Sie eine Eigenschaft und richten Sie eine Bindung ein:
import QtQuick
Item {
property int a
property int b
function f() {
if (true)
return a
return b
}
id: someItem // it would be confusing to call it `f` like the function
property int alternative: f()
}Deklaration eines Objekts, das kein QML-Objekt ist, als Listenelement
Was ist passiert?
Sie haben einen Ausdruck, der kein Objekt ist, in eine Liste von Objekten eingefügt.
Warum ist das falsch?
Die Sprache QML erlaubt nur Objekte in Objektlisten.
Beispiel
Um diese Warnung zu beheben, verwende einen gültigen Objekttyp oder entferne das Element aus der Liste:
Unbekanntes Argument für „pragma“
Was ist passiert?
Sie haben ein ungültiges Argument für ein Pragma angegeben.
Warum ist das ein Problem?
Das Pragma hat keine Wirkung.
Beispiel
pragma ComponentBehavior: Buond
import QtQuick
Item {
}Sie können diese Warnung beheben, indem Sie das Pragma entfernen oder einen möglichen Tippfehler korrigieren:
pragma ComponentBehavior: Bound
import QtQuick
Item {
}© 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.