Auf dieser Seite

LayoutMirroring QML Type (Uncreatable)

Eigenschaft, die zum Abbilden des Layout-Verhaltens verwendet wird. Mehr...

Import Statement: import QtQuick

Hinweis: Dies ist ein nicht erstellbarer Typ. Er kann in QML nicht instanziiert werden.

Eigenschaften

Ausführliche Beschreibung

Der Anbindungstyp „LayoutMirroring“ wird verwendet, um Elementanker, Positionierungstypen (wie z. B. „ Row “ und „ Grid “) sowie Ansichten (wie z. B. „ GridView “ und „horizontal ListView “) horizontal zu spiegeln. Die Spiegelung ist eine visuelle Änderung: Linke Anker werden zu rechten Ankern, und Positionierungstypen wie „ Grid “ und „ Row “ kehren das horizontale Layout von untergeordneten Elementen um.

Die Spiegelung wird für ein Element aktiviert, indem die Eigenschaft „ enabled “ auf „true“ gesetzt wird. Standardmäßig wirkt sich dies nur auf das Element selbst aus; wird die Eigenschaft „ childrenInherit “ auf „true“ gesetzt, wird das Spiegelungsverhalten auch auf alle untergeordneten Elemente übertragen. Wenn der Anbindungstyp „ LayoutMirroring “ für ein Element nicht definiert wurde, ist die Spiegelung nicht aktiviert.

Hinweis: Seit Qt 5.8 kann „ LayoutMirroring “ an ein „ Window “ angeheftet werden. In der Praxis entspricht dies dem Anheften von „ LayoutMirroring “ an das „ contentItem “ des Fensters.

Das folgende Beispiel veranschaulicht die Spiegelung in der Praxis. Der unten stehende „ Row “ ist so festgelegt, dass er links an seinem übergeordneten Element verankert ist. Da jedoch die Spiegelung aktiviert wurde, wird die Verankerung horizontal umgekehrt, sodass er nun rechts verankert ist. Da Elemente in einem „ Row “ standardmäßig von links nach rechts positioniert werden, werden sie nun stattdessen von rechts nach links positioniert, wie die Nummerierung und die Deckkraft der Elemente zeigen:

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
                }
            }
        }
    }
}

Zeile mit den Elementen 5 bis 1, die von rechts nach links angeordnet sind und die Spiegelung des Layouts veranschaulichen

Die Layout-Spiegelung ist nützlich, wenn sowohl eine von links nach rechts als auch eine von rechts nach links ausgerichtete Layout-Version einer Anwendung unterstützt werden muss, um verschiedene Sprachräume abzudecken. Mit der Eigenschaft „ childrenInherit “ lässt sich die Layout-Spiegelung anwenden, ohne dass für jedes Element in einer Anwendung manuell Layout-Konfigurationen festgelegt werden müssen. Beachten Sie jedoch, dass die Spiegelung keine Positionierung beeinflusst, die durch den Koordinatenwert „ Item “ ( x ) definiert ist; daher ist es selbst bei aktivierter Spiegelung oft notwendig, einige Layoutkorrekturen vorzunehmen, um die gewünschte Layoutrichtung zu unterstützen. Außerdem kann es erforderlich sein, die Spiegelung einzelner untergeordneter Elemente zu deaktivieren (indem für diese Elemente „ LayoutMirroring.enabled “ auf „false“ gesetzt wird), wenn die Spiegelung nicht das gewünschte Verhalten ist oder wenn das untergeordnete Element die Spiegelung bereits auf eine benutzerdefinierte Weise implementiert.

Um die Layoutrichtung basierend auf der Standard-Layoutrichtung der Anwendung festzulegen, verwenden Sie den folgenden Code:

LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft

Weitere Informationen zur Verwendung von „ LayoutMirroring “ und anderen damit verbundenen Funktionen zur Implementierung der Unterstützung für die Rechts-nach-Links-Schreibrichtung in einer Anwendung finden Sie unter „Benutzeroberflächen mit Rechts-nach-Links-Schreibrichtung “.

Eigenschaftsdokumentation

childrenInherit : bool

Diese Eigenschaft legt fest, ob der Wert von „ LayoutMirroring.enabled “ für dieses Element von seinen untergeordneten Elementen geerbt wird.

Der Standardwert ist „false“.

enabled : bool

Diese Eigenschaft legt fest, ob das Layout des Elements horizontal gespiegelt wird. Wird dieser Wert auf „true“ gesetzt, werden die Verankerungseinstellungen horizontal umgekehrt, sodass linke Verankerungen zu rechten und rechte Verankerungen zu linken werden. Bei Positionierungstypen (wie z. B. Row und Grid) und Ansichtstypen (wie z. B. GridView und ListView) wird dadurch auch die horizontale Ausrichtungsrichtung des Elements gespiegelt.

Der Standardwert ist „false“.

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