付属プロパティの再利用

この警告カテゴリーはqmllintによって[attached-property-reuse]

親スコープですでに初期化されているアタッチドタイプを使用する

何が起こりましたか?

伝播する付属型を複数回初期化しました。

注意: これは主に QQuickAttachedPropertyPropagator を継承したアタッチド型で発生します。

これはなぜ悪いのでしょうか?

プロパゲーティング・アタッチド・オブジェクトはインスタンス化のたびにメモリを消費しますが、初期化するのは1回で済みます。

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
    }
}

この警告を修正するには、親からアタッチドタイプをクエリします:

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
    }
}

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundationによって発行されたGNU Free Documentation License version 1.3の条項の下でライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。