Auf dieser Seite

Unbeabsichtigter leerer Block

Diese Warnkategorie wird von qmllint [unintentional-empty-block] geschrieben.

Unbeabsichtigter leerer Block

Was ist passiert?

Ein leerer Block wurde als Ausdruck für eine Eigenschaftsbindung deklariert.

Wahrscheinlich wollten Sie stattdessen ein leeres Objektliteral deklarieren. Um dies zu tun, schließen Sie das Literal in Klammern ein. Dies ist erforderlich, um das Literal von einem leeren Block zu unterscheiden.

Warum ist das schlecht?

Die Zuweisung eines Blocks ohne Anweisungen als Eigenschaftsbindung bringt nichts und könnte den Leser verwirren. Bei der Auswertung dieser Bindung werden keine Anweisungen ausgeführt und die Bindung wird als undefiniert ausgewertet.

Beispiel

import QtQml

QtObject {
    property var v: {} // This is not an empty object literal!
}

Um diese Warnung zu beheben, schließen Sie das Objektliteral in Klammern ein, oder entfernen Sie die Bindung ganz:

import QtQml

QtObject {
    property var v: ({}) // This is an empty object literal
}

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