LayoutMirroring QML Type

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

Import Statement: import QtQuick

プロパティ

詳細説明

LayoutMirroring 添付プロパティは、アイテムのアンカーポジショナタイプ(RowGrid など)、ビュー(GridView や水平ListView など)を水平方向にミラーリングするために使用します。ミラーリングは視覚的な変化で、左アンカーは右アンカーになり、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 です。


© 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.