Auf dieser Seite

Wiederverwendung von angehängten Eigenschaften

Diese Warnungskategorie wird von qmllint als „ [attached-property-reuse] “ bezeichnet.

Verwendung eines in einem übergeordneten Geltungsbereich bereits initialisierten angehängten Typs

Was ist passiert?

Sie haben einen propagierenden angehängten Typ mehrfach initialisiert.

Hinweis: Dies tritt meist bei angehängten Typen auf, die von „ QQuickAttachedPropertyPropagator “ erben.

Warum ist das problematisch?

Propagierende angehängte Objekte belegen bei jeder Instanziierung Speicherplatz, müssen jedoch nur einmal initialisiert werden.

Beispiel

import QtQuick
import QtQuick.Templates as T
import QtQuick.Controls.Material // contains the Material attached type

T.ToolBar {
    id: control

    // first instantiation of Material's attached property
    property color c: Material.toolBarColor

    background: Rectangle {
         // second instantiation of Material's attached property, wrong!
        color: Material.toolBarColor
    }
}

Um diese Warnung zu beheben, fragen Sie den angehängten Typ vom übergeordneten Typ ab:

import QtQuick
import QtQuick.Templates as T
import QtQuick.Controls.Material // contains the Material attached type

T.ToolBar {
    id: control

    // first instantiation of Material's attached property
    property color c: Material.toolBarColor

    background: Rectangle {
        // use control's attached property, correct!
        color: control.Material.toolBarColor
    }
}

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