LayoutMirroring QML Type
レイアウト動作をミラーするために使用されるプロパティ。詳細...
Import Statement: | import QtQuick |
プロパティ
- childrenInherit : bool
- enabled : bool
詳細説明
LayoutMirroring 添付プロパティは、アイテムのアンカー、ポジショナタイプ(Row やGrid など)、ビュー(GridView や水平ListView など)を水平方向にミラーリングするために使用します。ミラーリングは視覚的な変化で、左アンカーは右アンカーになり、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 |
© 2025 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.