Spec-Zone.ru › Qt 5.15

Тип 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)

Подробное описание

Вы можете создать настраиваемый круговой измеритель, заменив следующие делегаты:

  • background
  • tickmark
  • minorTickmark
  • tickmarkLabel
  • needle
  • foreground

Ниже приведен пример, который изменяет иголку на базовую оранжевую Прямоугольник:

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)
        }
    }
}

Результат:

CircularGaugeStyle example

Направление

minimumValueAngle и maximumValueAngle определяют не только положение делений, меток и стрелки, но и направление, в котором они отображаются вокруг измерителя. Например, если minimumValueAngle больше, чем maximumValueAngle, измеритель будет отображаться против часовой стрелки. Ниже приведены два измерителя: верхний измеритель имеет minimumValueAngle в -90 градусах и maximumValueAngle в 90 градусах, а нижний измеритель имеет обратное значение.

Reversed CircularGauge

См. также Стиль 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, для корректного отображения поворота. Например:

CircularGauge's needle

При определении собственного компонента стрелки, единственными необходимыми для настройки свойствами являются 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, чтобы сделать ассоциацию яснее:

Tickmarks

Свойство 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 вокруг шкалы.

Документация по методам

real valueToAngle(real value)

Возвращает 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

Spec-Zone.ru

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