Стиль QML PieMenuStyle
Предоставляет настраиваемый стиль для PieMenu. Подробнее...
| Заявление об импорте: | import QtQuick.Controls.Styles 1.4 |
| С момента: | Qt 5.5 |
Свойства
- background : Компонент
- backgroundColor : цвет
- cancel : Компонент
- cancelRadius : вещественное
- control : PieMenu
- endAngle : вещественное
- menuItem : Компонент
- radius : вещественное
- selectionColor : цвет
- shadowColor : цвет
- shadowRadius : вещественное
- shadowSpread : вещественное
- startAngle : вещественное
- title : Компонент
Методы
- вещественное sectionCenterAngle(int itemIndex)
- вещественное sectionEndAngle(int itemIndex)
- вещественное sectionStartAngle(int itemIndex)
Подробное описание
PieMenuStyle — это стиль для PieMenu, который отображает каждый сектор меню как заполненный «сектор».
Вы можете создать настраиваемое меню, заменив следующие делегаты:
Для настройки внешнего вида каждого menuItem без необходимости определения собственного, вы можете использовать свойства backgroundColor и selectionColor. Для настройки эффекта затемнения используйте свойства shadowColor, shadowRadius и shadowSpread.
Иконки, которые слишком велики для сектора, в котором они находятся, будут соответствующим образом масштабированы.
Для настройки отдельных секторов меню используйте компонент menuItem:
PieMenuStyle {
shadowRadius: 0
menuItem: Item {
id: item
rotation: -90 + sectionCenterAngle(styleData.index)
Rectangle {
width: parent.height * 0.2
height: width
color: "darkorange"
radius: width / 2
anchors.right: parent.right
anchors.verticalCenter: parent.verticalCenter
Text {
id: textItem
text: control.menuItems[styleData.index].text
anchors.centerIn: parent
color: control.currentIndex === styleData.index ? "red" : "white"
rotation: -item.rotation
}
}
}
} Документация по свойствам
background : Component
Фон меню.
По умолчанию фон не определен.
backgroundColor : color
Цвет фона.
cancel : Component
Компонент отмены меню.
Это область в центре меню, которая закрывает меню при нажатии.
По умолчанию она не отображается.
cancelRadius : real
Радиус области, используемой для отмены меню.
См. также radius.
[только для чтения] control : PieMenu
Элемент PieMenu, к которому прикреплен этот стиль.
endAngle : real
Угол (в градусах), под которым будет отображен последний элемент меню.
Абсолютный диапазон, образованный startAngle и endAngle, должен быть меньше или равен 360 градусов.
Элементы меню отображаются по часовой стрелке, когда startAngle меньше endAngle, в противном случае они отображаются против часовой стрелки.
См. также startAngle.
menuItem : Component
Этот компонент определяет каждый сектор кругового меню.
Этот компонент охватывает ширину и высоту элемента управления.
События мыши не передаются этому компоненту, что означает, что элементы управления, такие как кнопка, не будут работать, когда используются в нём. Вы можете проверить, находится ли мышь над этим разделом, сравнив control.currentIndex с styleData.index.
Каждый экземпляр этого компонента имеет доступ к следующим свойствам:
readonly property int styleData.index
|
Индекс этого элемента меню. |
readonly property bool styleData.hovered
|
true если указатель находится над этим элементом меню. |
readonly property bool styleData.pressed
|
true если на этот элемент меню нажата кнопка мыши. |
[только для чтения] radius : real
Расстояние от центра меню до внешнего края меню.
См. также cancelRadius.
selectionColor : color
Цвет выделения.
shadowColor : color
Цвет тени.
См. также DropShadow.
shadowRadius : real
Радиус тени.
См. также DropShadow.
shadowSpread : real
Расширение тени.
См. также DropShadow.
startAngle : real
Угол (в градусах), под которым будет отображен первый элемент меню.
Абсолютный диапазон, образованный startAngle и endAngle, должен быть меньше или равен 360 градусов.
Элементы меню отображаются по часовой стрелке, когда startAngle меньше endAngle, в противном случае они отображаются против часовой стрелки.
См. также endAngle.
title : Component
Компонент, отображающий текст текущего выбранного элемента меню или заголовок, если текущего элемента нет.
Текст текущего элемента доступен через свойство styleData.text.
Документация по методам
real sectionCenterAngle(int itemIndex)
Возвращает центр сектора в индексе itemIndex в градусах.
real sectionEndAngle(int itemIndex)
Возвращает конец сектора в индексе itemIndex в градусах.
real sectionStartAngle(int itemIndex)
Возвращает начало сектора в индексе itemIndex в градусах.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtquick-controls-styles-piemenustyle.html