Тип QML LayoutMirroring
Свойство, используемое для отражения поведения макета. Подробнее...
| Заявление импорта: | import QtQuick 2.1 |
Свойства
- childrenInherit : bool
- enabled : bool
Подробное описание
Присоединенное свойство LayoutMirroring используется для горизонтального отражения якорей элементов, типов позиционеров (таких как Row и Grid) и представлений (таких как GridView и горизонтальные ListView). Отражение — это визуальное изменение: левые якори становятся правыми, а типы позиционеров, такие как Grid и Row, меняют горизонтальную компоновку дочерних элементов.
Отражение активируется для элемента, устанавливая свойство enabled в значение true. По умолчанию это влияет только на сам элемент; установка свойства childrenInherit в значение true распространяет поведение отражения на все дочерние элементы. Если присоединенное свойство LayoutMirroring не определено для элемента, отражение не включено.
Примечание: Начиная с Qt 5.8, LayoutMirroring может быть присоединен к Window. На практике это то же самое, что присоединение 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.1/qml-qtquick-layoutmirroring.html