LayoutMirroring QML Type

レイアウト動作をミラーするために使用されるプロパティ。詳細...

Import Statement: import QtQuick

プロパティ

詳細説明

LayoutMirroring 添付プロパティは、Item アンカーポジショナタイプ(RowGrid など)、ビュー(GridView や horizontalListView など)を水平方向にミラーリングするために使用されます。ミラーリングは視覚的な変化で、左アンカーは右アンカーになり、GridRow のようなポジショナタイプは子アイテムの水平レイアウトを逆にします。

ミラーリングは、enabled プロパティを true に設定することで、アイテムに対して有効になります。デフォルトでは、これはアイテム自体にのみ影響します。childrenInherit プロパティを true に設定すると、すべての子アイテムにもミラーリングの動作が伝搬します。アイテムにLayoutMirroring attached プロパティが定義されていない場合、ミラーリングは有効になりません。

注: Qt 5.8 以降、LayoutMirroringWindow にアタッチすることができます。実際には、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.enabled: Qt.application.layoutDirection === Qt.RightToLeft

アプリケーションに右から左へのサポートを実装するためにLayoutMirroring やその他の関連機能を使用する詳細については、右から左へのユーザーインターフェースを参照してください。

プロパティ Documentation

childrenInherit : bool

このプロパティは、このアイテムのLayoutMirroring.enabled の値がその子に継承されるかどうかを保持する。

デフォルト値は false である。


enabled : bool

このプロパティは、アイテムのレイアウトが水平方向にミラーされるかどうかを保持する。このプロパティを true に設定すると、水平方向のアンカー設定が反転し、左のアンカーは右のアンカーに、右のアンカーは左のアンカーになります。ポジショナ型(RowGrid など)やビュー型(GridViewListView など)では、アイテムの水平レイアウト方向もミラーリングされます。

デフォルト値は false です。


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