再帰深度エラー

この警告カテゴリーはqmllintによって[recursion-depth-errors]

文または式の最大深度を超えました

何が起こりましたか?

QMLの文や式がコンパイラに対して深くネストされすぎています。これは通常、文や式が非常に長くなるようなコードを生成した場合にのみ起こります。

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

QMLエンジンはこのコードを実行することができません。

import QtQuick

Item {
    function f() {
        let x = 1 + 1 + .... + 1 // maximum depth exceeded: add too many ones together
        return x
    }

    Item { Item { .... } } // maximum depth exceeded: too many nested Item's
}

この警告を修正するには、より小さなコードを自動生成してください。深くネストしたコンポーネントを複数のファイルやインラインコンポーネントに分割したり、深くネストした式を複数の式に分割してください:

import QtQuick

Item {
    function f() {
        let x = 1 + 1 + .... + 1 // first half of the split
        x += 1 + 1 + .... + 1 // second half of the split
        return x
    }

    component NestedItem : Item { Item {... }} // first half of the nested Item
    component DeeplyNestedItem: Item { ... NestedItem{} ... } // second half of the nested Items + NestedItem
    DeeplyNestedItem {}
}

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