Тип QML CircularGaugeStyle
Предоставляет настраиваемую стилизацию для CircularGauge. Подробнее...
| Заявление об импорте: | import QtQuick.Controls.Styles 1.4 |
| С тех пор: | Qt 5.5 |
Свойства
- angleRange : real
- background : Component
- control : CircularGauge
- foreground : Component
- labelCount : int
- labelInset : real
- labelStepSize : real
- maximumValueAngle : real
- minimumValueAngle : real
- minorTickmark : Component
- minorTickmarkCount : int
- minorTickmarkInset : real
- needle : Component
- needleRotation : real
- outerRadius : real
- tickmark : Component
- tickmarkCount : int
- tickmarkInset : real
- tickmarkLabel : Component
- tickmarkStepSize : real
Методы
- real valueToAngle(real value)
Подробное описание
Вы можете создать настраиваемый круговой измеритель, заменив следующие делегаты:
Ниже приведен пример, который изменяет иголку на базовую оранжевую Прямоугольник:
CircularGauge {
style: CircularGaugeStyle {
needle: Rectangle {
y: outerRadius * 0.15
implicitWidth: outerRadius * 0.03
implicitHeight: outerRadius * 0.9
antialiasing: true
color: Qt.rgba(0.66, 0.3, 0, 1)
}
}
} Результат:
Направление
minimumValueAngle и maximumValueAngle определяют не только положение делений, меток и стрелки, но и направление, в котором они отображаются вокруг измерителя. Например, если minimumValueAngle больше, чем maximumValueAngle, измеритель будет отображаться против часовой стрелки. Ниже приведены два измерителя: верхний измеритель имеет minimumValueAngle в -90 градусах и maximumValueAngle в 90 градусах, а нижний измеритель имеет обратное значение.
См. также Стиль CircularGauge.
Документация по свойствам
[только для чтения] angleRange : real
Диапазон между minimumValueAngle и maximumValueAngle в градусах. Это значение всегда будет положительным.
background : Component
Фон измерителя.
Если установлено, фон определяет неявный размер измерителя.
По умолчанию фон не определен.
См. также Стиль фона CircularGauge.
[только для чтения] control : CircularGauge
Объект CircularGauge, к которому прикреплен данный стиль.
foreground : Component
Передний план измерителя. Этот компонент рисуется поверх всех остальных.
Как и background, компонент foreground заполняет весь измеритель.
По умолчанию здесь определяется ручка измерителя.
См. также Стиль переднего плана CircularGauge.
[только для чтения] labelCount : int
Количество меток, отображаемых измерителем, вычисляется из labelStepSize и значений control.minimumValue и control.maximumValue.
См. также tickmarkCount и minorTickmarkCount.
labelInset : real
Расстояние в пикселях от внешнего края измерителя (outerRadius) до центра текста метки значения.
labelStepSize : real
Интервал, с которым отображаются метки.
Например, если это свойство установлено в 10 (значение по умолчанию), control.minimumValue в 0, и control.maximumValue в 100, метки будут отображаться с интервалом в 10 (0, 10, 20 и т.д. до 100) вокруг измерителя.
maximumValueAngle : real
Это свойство определяет угол, под которым отображается максимальное значение на измерителе.
Установленный угол влияет на следующие компоненты измерителя:
- Угол стрелки
- Положение делений и меток
Начальная точка угла направлена на север:
Для этого свойства нет минимального или максимального значения, но стандартный стиль поддерживает углы, абсолютный диапазон которых не превышает 360 градусов. Это связано с тем, что диапазоны, превышающие 360 градусов, приведут к перекрытию делений и меток.
Значение по умолчанию — 145.
minimumValueAngle : real
Это свойство определяет угол, под которым отображается минимальное значение на измерителе.
Установленный угол влияет на следующие компоненты измерителя:
- Угол стрелки
- Положение делений и меток
Начальная точка угла направлена на север:
Для этого свойства нет минимального или максимального значения, но стандартный стиль поддерживает углы, абсолютный диапазон которых не превышает 360 градусов. Это связано с тем, что диапазоны, превышающие 360 градусов, приведут к перекрытию делений и меток.
Значение по умолчанию — -145.
minorTickmark : Component
Этот компонент определяет каждое отдельное малое деление. Положение каждого малого деления уже задано; нужно только указать implicitWidth и implicitHeight.
Каждый экземпляр этого компонента имеет доступ к следующим свойствам:
readonly property int styleData.index
|
Индекс этого деления. |
readonly property real styleData.value
|
Значение, которое представляет это деление. |
См. также Стиль малых делений CircularGauge.
minorTickmarkCount : int
Количество мелких рисок между каждой риской.
Значение по умолчанию — 4.
См. также tickmarkCount.
minorTickmarkInset : real
Расстояние в пикселях от внешнего края шкалы (outerRadius) до самой внешней точки линии мелкой риски.
needle : Component
Стрелка, указывающая на текущее значение шкалы.
Этот компонент рисуется под компонентом foreground.
Стиль ожидает, что стрелка будет направлена вверх при повороте на 0, для корректного отображения поворота. Например:
При определении собственного компонента стрелки, единственными необходимыми для настройки свойствами являются implicitWidth и implicitHeight.
Необязательно, вы можете установить x и y для изменения точки отсчёта преобразования стрелки. Установка позиции x может быть полезна для изображений стрелок, где стрелка не центрирована точно по горизонтали. Установка позиции y позволяет сделать основание стрелки выступающим за центр шкалы.
См. также Настройка стрелки CircularGauge.
needleRotation : real
Это свойство содержит угол поворота стрелки в градусах.
[только для чтения] outerRadius : real
Расстояние от центра шкалы до внешнего края.
Это свойство полезно для определения размера различных компонентов стиля, чтобы обеспечить пропорциональное масштабирование при изменении размера шкалы.
tickmark : Component
Этот компонент определяет каждую отдельную риску. Позиция каждой риски уже задана; необходимо только указать implicitWidth и implicitHeight.
Каждый экземпляр этого компонента имеет доступ к следующим свойствам:
readonly property int styleData.index
|
Индекс этой риски. |
readonly property real styleData.value
|
Значение, которое представляет эта риска. |
Для иллюстрации, что означают эти свойства, мы можем использовать следующий пример:
import QtQuick 2.0
import QtQuick.Controls.Styles 1.4
import QtQuick.Extras 1.4
Rectangle {
width: 400
height: 400
CircularGauge {
id: gauge
anchors.fill: parent
style: CircularGaugeStyle {
labelInset: outerRadius * 0.2
tickmarkLabel: null
tickmark: Text {
text: styleData.value
Text {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.bottom
text: styleData.index
color: "blue"
}
}
minorTickmark: Text {
text: styleData.value
font.pixelSize: 8
Text {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.bottom
text: styleData.index
font.pixelSize: 8
color: "blue"
}
}
}
Text {
id: indexText
text: "Major and minor indices"
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: valueText.top
color: "blue"
}
Text {
id: valueText
text: "Major and minor values"
anchors.horizontalCenter: parent.horizontalCenter
anchors.bottom: parent.bottom
}
}
} Мы заменили обычные риски-линии элементами Text и скрыли компонент tickmarkLabel, чтобы сделать ассоциацию яснее:
Свойство index может быть полезно, если у вас есть другая модель, содержащая изображения для отображения каждого индекса, например.
Свойство value полезно для рисования нижних и верхних границ вокруг шкалы, чтобы указать рекомендуемые диапазоны значений. Например, скорости выше 200 километров в час на спидометре автомобиля могут быть обозначены как опасные с помощью этого свойства.
См. также Настройка рисок CircularGauge.
[только для чтения] tickmarkCount : int
Количество рисок, отображаемых на шкале, вычисляемых из tickmarkStepSize и minimumValue и maximumValue управления.
См. также minorTickmarkCount.
tickmarkInset : real
Расстояние в пикселях от внешнего края шкалы (outerRadius) до самой внешней точки линии риски.
tickmarkLabel : Component
Это определяет текст каждой метки риски на шкале.
Каждый экземпляр этого компонента имеет доступ к следующим свойствам:
readonly property int styleData.index
|
Индекс этой метки. |
readonly property real styleData.value
|
Значение, которое представляет эта метка. |
См. также Настройка меток рисок CircularGauge.
tickmarkStepSize : real
Интервал, с которым отображаются риски.
Например, если это свойство установлено в 10 (значение по умолчанию), control.minimumValue в 0, и control.maximumValue в 100, отображаемые риски будут 0, 10, 20 и т. д. до 100 вокруг шкалы.
Документация по методам
Возвращает value в виде угла в градусах.
Эта функция полезна для пользовательского рисования или позиционирования элементов в компонентах стиля. Например, она может быть использована для расчёта углов, под которыми необходимо нарисовать дугу вокруг шкалы, обозначающую безопасную зону для стрелки.
Например, если minimumValueAngle установлено в 270 и maximumValueAngle установлено в 90, эта функция вернёт 270 при передаче minimumValue и 90 при передаче maximumValue.
См. также Настройка фона CircularGauge.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtquick-controls-styles-circulargaugestyle.html