Spec-Zone.ru › Qt 5.9

Тип QML LayoutMirroring

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

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

Свойства

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

См. Правое отображение интерфейсов пользователя для получения дополнительной информации об использовании 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-5.9/qml-qtquick-layoutmirroring.html

Spec-Zone.ru

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