Spec-Zone.ru › Qt 6.0

Тип QML LayoutMirroring

Свойство, используемое для зеркального отражения поведения макета. Подробнее...

Заявление об импорте: import QtQuick 2.0
  • Список всех членов, включая унаследованные члены

Свойства

  • childrenInherit : bool
  • enabled : bool

Подробное описание

Присоединенное свойство LayoutMirroring используется для горизонтального зеркального отражения якорей элементов, типов позиционеров (таких как Row и Grid) и представлений (таких как GridView и горизонтальный ListView). Зеркальное отражение — это визуальное изменение: левые якоря становятся правыми, а типы позиционеров, такие как Grid и Row, меняют горизонтальную компоновку дочерних элементов.

Зеркальное отражение включено для элемента, установив свойство enabled в значение true. По умолчанию это влияет только на сам элемент; установка свойства childrenInherit в значение true распространяет поведение зеркального отражения на все дочерние элементы. Если для элемента не определено присоединённое свойство LayoutMirroring, зеркальное отражение не включено.

Примечание: Начиная с Qt 5.8, LayoutMirroring может быть присоединён к окну. На практике это то же самое, что прикрепление LayoutMirroring к contentItem окна.

Следующий пример демонстрирует зеркальное отражение в действии. Row ниже указан как закреплённый слева от своего родительского элемента. Однако, поскольку зеркальное отражение включено, якорь горизонтально изменяется и теперь закреплён справа. Кроме того, поскольку элементы в Row по умолчанию позиционируются слева направо, теперь они позиционируются справа налево, как показано по номерам и непрозрачности элементов:

import QtQuick 2.0

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 позволяет применять зеркальное отражение макета без ручного настройки конфигураций макета для каждого элемента в приложении. Однако следует учитывать, что зеркальное отражение не влияет на позиционирование, определенное значением координаты x элемента Item, поэтому даже при включённом зеркальном отражении часто потребуется внести некоторые коррективы в макет, чтобы поддерживать нужное направление макета. Кроме того, может потребоваться отключить зеркальное отражение отдельных дочерних элементов (установив LayoutMirroring.enabled в значение false для таких элементов), если зеркальное отражение не является желаемым поведением или если дочерний элемент уже реализует зеркальное отражение каким-то пользовательским способом.

Чтобы установить направление макета на основе направления макета по умолчанию приложения, используйте следующий код:

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

Дополнительные сведения о использовании LayoutMirroring и других связанных функциях для реализации поддержки справа налево в приложении см. в разделе Пользовательские интерфейсы справа налево.

Документация по свойствам

childrenInherit : bool

Это свойство указывает, наследуется ли значение LayoutMirroring.enabled для этого элемента его дочерними элементами.

Значение по умолчанию — false.

enabled : bool

Это свойство указывает, зеркально ли отражается горизонтальный макет элемента. Установка его в значение true горизонтально изменяет настройки якорей, так что левые якоря становятся правыми, а правые — левыми. Для типов позиционеров (таких как Row и Grid) и типов представлений (таких как GridView и ListView) это также отражает направление горизонтального макета элемента.

Значение по умолчанию — false.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick-layoutmirroring.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API