LayoutMirroring QML Type
レイアウト動作をミラーするために使用されるプロパティ。詳細...
Import Statement: | import QtQuick |
プロパティ
- childrenInherit : bool
- enabled : bool
詳細説明
LayoutMirroring 添付プロパティは、Item アンカー、ポジショナタイプ(Row やGrid など)、ビュー(GridView や horizontalListView など)を水平方向にミラーリングするために使用されます。ミラーリングは視覚的な変化で、左アンカーは右アンカーになり、Grid やRow のようなポジショナタイプは子アイテムの水平レイアウトを逆にします。
ミラーリングは、enabled プロパティを true に設定することで、アイテムに対して有効になります。デフォルトでは、これはアイテム自体にのみ影響します。childrenInherit プロパティを true に設定すると、すべての子アイテムにもミラーリングの動作が伝搬します。アイテムにLayoutMirroring
attached プロパティが定義されていない場合、ミラーリングは有効になりません。
注: Qt 5.8 以降、LayoutMirroring
をWindow にアタッチすることができます。実際には、LayoutMirroring
をウィンドウのcontentItem
にアタッチするのと同じです。
次の例では、ミラーリングを実際に行っています。下のRow は親の左側に固定されるように指定されている。しかし、ミラーリングが有効になっているので、アンカーは水平方向に反転し、右側に固定されます。また、Row のアイテムはデフォルトでは左から右に配置されているので、アイテムの番号と不透明度が示すように、代わりに右から左に配置されるようになった:
import QtQuick Rectangle { LayoutMirroring.enabled: true LayoutMirroring.childrenInherit: true width: 300; height: 50 color: "yellow" border.width: 1 Row { anchors { left: parent.left; margins: 5 } y: 5; spacing: 5 Repeater { model: 5 Rectangle { color: "red" opacity: (5 - index) / 5 width: 40; height: 40 Text { text: index + 1 anchors.centerIn: parent } } } } }
レイアウトのミラーリングは、異なる言語領域をターゲットにするために、アプリケーションの左から右へのレイアウトと右から左へのレイアウトの両方をサポートする必要がある場合に便利です。childrenInherit プロパティを使用すると、アプリケーションの各項目に対して手動でレイアウト設定を行わなくても、レイアウトミラーリングを適用することができます。ただし、ミラーリングは、Item x 座標値によって定義される位置には影響しないため、ミラーリングを有効にしても、希望のレイアウト方向をサポートするためにレイアウトの修正が必要になることが多いことに注意してください。また、ミラーリングが望ましい動作でない場合や、子アイテムがすでに何らかのカスタム方法でミラーリングを実装している場合は、個々の子アイテムのミラーリングを無効にする(そのようなアイテムではLayoutMirroring.enabled を false に設定する)必要があるかもしれません。
アプリケーションのデフォルトのレイアウト方向に基づいてレイアウト方向を設定するには、次のコードを使用します:
アプリケーションに右から左へのサポートを実装するためにLayoutMirroring
やその他の関連機能を使用する詳細については、右から左へのユーザーインターフェースを参照してください。
プロパティ Documentation
childrenInherit : bool |
このプロパティは、このアイテムのLayoutMirroring.enabled の値がその子に継承されるかどうかを保持する。
デフォルト値は false である。
enabled : bool |
このドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。