C
視覚的な親
Qt Quick Ultralite を使用してビジュアルシーンを作成する際は、「ビジュアル親」という概念を理解することが重要です。
Qt Quick Ultraliteにおけるビジュアル親の概念は、QObject の親階層におけるオブジェクト親の概念とは別物ですが、関連しています。 すべてのQMLオブジェクトにはオブジェクト親があり、これはオブジェクトが宣言されたオブジェクト階層によって決定されます。QtQuick モジュールを使用する場合、Item 型はこのモジュールが提供するすべてのビジュアルアイテムの基底型であり、アイテムのparent プロパティによって定義される追加のビジュアル親という概念を提供します。すべてのアイテムにはビジュアル親があります。
あるアイテムを別のアイテムの子として宣言しても、子アイテムが親アイテム内に収まるように自動的に適切な位置やサイズに調整されるわけではありません。一部のQML型には、子アイテムの位置決めに影響を与える組み込みの挙動が備わっている場合があります。 たとえば、Row オブジェクトは、その子要素を自動的に水平配列に再配置しますが、これらはその型固有の実装によって強制される挙動です。さらに、親アイテムは、そのclip プロパティがtrue に設定されていない限り、子要素を親の視覚的な境界内に収まるように自動的にクリップすることはありません。
重要: Qt Quick Ultralite では、parent プロパティは読み取り専用として実装されている点にご注意ください 。つまり、項目の視覚的な親を変更する `Qt Quick ` コードは、Qt Quick Ultralite ではコンパイルされません。
項目の座標
アイテムの座標は視覚的な親を基準としているため、視覚階層の変更によって影響を受ける可能性があります。詳細については、「視覚座標」を参照してください。
重ね合わせ順序
Qt Quick Ultralite のアイテムは、衝突が発生した場合にどのアイテムを上に描画するかを決定するために、再帰的な描画アルゴリズムを使用します。一般に、アイテムは作成された順序(または QML ファイルで指定された順序)で、親アイテムの上に描画されます。したがって、次の例では、青い長方形が緑の長方形の上に描画されます。
Rectangle { color: "#272822" width: 320 height: 480 Rectangle { y: 64 width: 256 height: 256 color: "green" } Rectangle { x: 64 y: 172 width: 256 height: 256 color: "blue" } }

このアルゴリズムは視覚的なアイテム階層を再帰的に処理するため、緑色の長方形の子アイテムも、青い長方形の下、および青い長方形の子アイテムの下に描画されます。
重ね合わせ順序は、Item::z プロパティによって調整できます。Z値が0未満の場合、そのアイテムは親アイテムの下に配置され、Z値が指定されている場合は、兄弟アイテムはZ値の順に重ねられます(同値の場合は作成順で決定されます)。
Z値は、兄弟要素および親要素との比較における重ね合わせ順序にのみ影響します。 親アイテムより上位にルートを持つサブツリーによって隠れてしまうアイテムがある場合、そのアイテムにどのような z 値を指定しても、そのサブツリーより上に配置されるよう重ね順を上げることはできません。そのアイテムを他のサブツリーより上に配置するには、階層の上位にある z 値を変更するか、視覚的なアイテムの階層を再配置する必要があります。
Rectangle { color: "#272822" width: 320 height: 480 Rectangle { y: 64 z: 1 width: 256 height: 256 color: "green" Rectangle { x: 192 y: 64 z: 2000 width: 128 height: 128 color: "red" } } Rectangle { x: 64 y: 192 z: 2 width: 256 height: 256 color: "blue" } }

上記の例では、赤い長方形は Z 値が高いにもかかわらず、青い長方形の下に配置されています。これは、赤い長方形が緑の長方形の子であり、緑の長方形が青い長方形の兄弟要素であるためです。 緑の四角形のz値は青い四角形のz値よりも低いため、緑の四角形とそのすべての子要素は、青い四角形の下に配置されます。
特定の Qt ライセンスの下で利用可能です。
詳細はこちらをご覧ください。