Тип QML LayoutMirroring
Свойство, используемое для отражения поведения макета. Подробнее...
| Оператор импорта: | import QtQuick |
Свойства
- 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.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.2/qml-qtquick-layoutmirroring.html