Класс QChart
Класс QChart управляет графическим представлением рядов, легенд и осей графика. Подробнее...
| Заголовок: | #include <QChart> |
| Наследует: | QGraphicsWidget |
| Наследуется от: |
Типы
| перечисление | AnimationOption { НетАнимации, АнимацияОсейСетки, АнимацияРядов, ВсеАнимации } |
| флаги | AnimationOptions |
| перечисление | ChartTheme { СветлаяТема, Сине-голубаяТема, ТёмнаяТема, Коричнево-песчанаяТема, Сине-зеленаяТема, …, ТемаQt } |
| перечисление | ChartType { ТипГрафикаНеОпределен, ТипГрафикаДекартов, ТипГрафикаПолярный } |
Свойства
|
|
Общедоступные функции
| QChart(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags()) | |
| virtual | ~QChart() |
| void | addAxis(QAbstractAxis *axis, Qt::Alignment alignment) |
| void | addSeries(QAbstractSeries *series) |
| int | animationDuration() const |
| QEasingCurve | animationEasingCurve() const |
| QChart::AnimationOptions | animationOptions() const |
| QList<QAbstractAxis *> | axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = nullptr) const |
| QBrush | backgroundBrush() const |
| QPen | backgroundPen() const |
| qreal | backgroundRoundness() const |
| QChart::ChartType | chartType() const |
| void | createDefaultAxes() |
| bool | isBackgroundVisible() const |
| bool | isDropShadowEnabled() const |
| bool | isPlotAreaBackgroundVisible() const |
| bool | isZoomed() |
| QLegend * | legend() const |
| QLocale | locale() const |
| bool | localizeNumbers() const |
| QPointF | mapToPosition(const QPointF &value, QAbstractSeries *series = nullptr) |
| QPointF | mapToValue(const QPointF &position, QAbstractSeries *series = nullptr) |
| QMargins | margins() const |
| QRectF | plotArea() const |
| QBrush | plotAreaBackgroundBrush() const |
| QPen | plotAreaBackgroundPen() const |
| void | removeAllSeries() |
| void | removeAxis(QAbstractAxis *axis) |
| void | removeSeries(QAbstractSeries *series) |
| void | scroll(qreal dx, qreal dy) |
| QList<QAbstractSeries *> | series() const |
| void | setAnimationDuration(int msecs) |
| void | setAnimationEasingCurve(const QEasingCurve &curve) |
| void | setAnimationOptions(QChart::AnimationOptions options) |
| void | setBackgroundBrush(const QBrush &brush) |
| void | setBackgroundPen(const QPen &pen) |
| void | setBackgroundRoundness(qreal diameter) |
| void | setBackgroundVisible(bool visible = true) |
| void | setDropShadowEnabled(bool enabled = true) |
| void | setLocale(const QLocale &locale) |
| void | setLocalizeNumbers(bool localize) |
| void | setMargins(const QMargins &margins) |
| void | setPlotArea(const QRectF &rect) |
| void | setPlotAreaBackgroundBrush(const QBrush &brush) |
| void | setPlotAreaBackgroundPen(const QPen &pen) |
| void | setPlotAreaBackgroundVisible(bool visible = true) |
| void | setTheme(QChart::ChartTheme theme) |
| void | setTitle(const QString &title) |
| void | setTitleBrush(const QBrush &brush) |
| void | setTitleFont(const QFont &font) |
| QChart::ChartTheme | theme() const |
| QString | title() const |
| QBrush | titleBrush() const |
| QFont | titleFont() const |
| void | zoom(qreal factor) |
| void | zoomIn() |
| void | zoomIn(const QRectF &rect) |
| void | zoomOut() |
| void | zoomReset() |
Сигналы
| void | plotAreaChanged(const QRectF &plotArea) |
Подробное описание
QChart — это QGraphicsWidget, который можно отобразить в QGraphicsScene. Он управляет графическим представлением различных типов рядов и других объектов, связанных с диаграммой, таких как легенда и оси. Для простого отображения диаграммы в макете можно использовать удобный класс QChartView вместо QChart. Кроме того, ряды линий, сплайнов, областей и точек рассеяния могут быть представлены как полярные диаграммы с помощью класса QPolarChart.
См. также QChartView и QPolarChart.
Документация по типам членов
перечисление QChart::AnimationOptionфлаги QChart::AnimationOptions
Это перечисление описывает анимации, включённые в диаграмму.
| Постоянная | Значение | Описание |
|---|---|---|
QChart::NoAnimation |
0x0 |
Анимация отключена в диаграмме. Это значение по умолчанию. |
QChart::GridAxisAnimations |
0x1 |
Анимация осей сетки включена в диаграмме. |
QChart::SeriesAnimations |
0x2 |
Анимация рядов включена в диаграмме. |
QChart::AllAnimations |
0x3 |
Все типы анимации включены в диаграмме. |
Тип AnimationOptions — это псевдоним для QFlags<AnimationOption>. Он хранит логическое ИЛИ комбинацию значений AnimationOption.
перечисление QChart::ChartTheme
Это перечисление описывает тему, используемую диаграммой.
Тема — это встроенный набор настроек стиля пользовательского интерфейса, применяемых ко всем визуальным элементам диаграммы, таким как цвета, линии, заливки и шрифты рядов, а также осей, заголовка и легенды. Пример использования тем иллюстрируется в примере тем диаграмм.
Примечание: Изменение темы перезапишет все ранее применённые настройки к рядам.
| Постоянная | Значение | Описание |
|---|---|---|
QChart::ChartThemeLight |
0 |
Светлая тема, которая является темой по умолчанию. |
QChart::ChartThemeBlueCerulean |
1 |
Тема небесно-голубого цвета. |
QChart::ChartThemeDark |
2 |
Тёмная тема. |
QChart::ChartThemeBrownSand |
3 |
Тема песчано-коричневого цвета. |
QChart::ChartThemeBlueNcs |
4 |
Тема синего цвета системы естественных цветов (NCS). |
QChart::ChartThemeHighContrast |
5 |
Тема высокой контрастности. |
QChart::ChartThemeBlueIcy |
6 |
Тема ледяного синего цвета. |
QChart::ChartThemeQt |
7 |
Тема Qt. |
перечисление QChart::ChartType
Это перечисление описывает тип диаграммы.
| Постоянная | Значение | Описание |
|---|---|---|
QChart::ChartTypeUndefined |
0 |
Тип диаграммы не определён. |
QChart::ChartTypeCartesian |
1 |
Декартова диаграмма. |
QChart::ChartTypePolar |
2 |
Полярная диаграмма. |
Документация свойств
animationDuration : int
Это свойство содержит продолжительность анимации для графика.
Функции доступа:
| int | animationDuration() const |
| void | setAnimationDuration(int msecs) |
animationEasingCurve : QEasingCurve
Это свойство содержит кривую плавного изменения анимации для графика.
Функции доступа:
| QEasingCurve | animationEasingCurve() const |
| void | setAnimationEasingCurve(const QEasingCurve &curve) |
animationOptions : QChart::AnimationOptions
Это свойство содержит параметры анимации для графика.
Анимация включена или выключена на основе этого параметра.
Функции доступа:
| QChart::AnimationOptions | animationOptions() const |
| void | setAnimationOptions(QChart::AnimationOptions options) |
backgroundRoundness : qreal
Это свойство содержит диаметр окружности скругления углов фона графика.
Функции доступа:
| qreal | backgroundRoundness() const |
| void | setBackgroundRoundness(qreal diameter) |
backgroundVisible : bool
Это свойство содержит информацию о видимости фона графика.
Функции доступа:
| bool | isBackgroundVisible() const |
| void | setBackgroundVisible(bool visible = true) |
См. также setBackgroundBrush(), setBackgroundPen() и plotAreaBackgroundVisible.
[read-only] chartType : const QChart::ChartType
Это свойство определяет, является ли график декартовым или полярным.
Это свойство устанавливается внутри и является только для чтения.
Функции доступа:
| QChart::ChartType | chartType() const |
См. также QPolarChart.
dropShadowEnabled : bool
Это свойство определяет, включен ли эффект тени отброшенной от фона.
Если установлено true, эффект тени отброшенной от фона включен. Если установлено false, он выключен.
Примечание: Эффект тени отброшенной от фона зависит от темы, поэтому его состояние может измениться при изменении темы.
Функции доступа:
| bool | isDropShadowEnabled() const |
| void | setDropShadowEnabled(bool enabled = true) |
locale : QLocale
Это свойство содержит локаль, используемую для форматирования различных меток на графике.
Метки локализуются только при localizeNumbers true, за исключением меток QDateTimeAxis, которые всегда используют QLocale, установленный этим свойством.
По умолчанию используется системная локаль приложения на момент создания графика.
Функции доступа:
| QLocale | locale() const |
| void | setLocale(const QLocale &locale) |
См. также localizeNumbers.
localizeNumbers : bool
Это свойство определяет, локализуются ли числа.
Когда true, все сгенерированные числа, отображаемые на различных рядах и метках осей, будут локализованы с помощью QLocale, установленного с помощью свойства locale. Когда false, всегда используется локаль C. По умолчанию false.
Примечание: Это свойство не влияет на метки QDateTimeAxis, которые всегда используют QLocale, установленный с помощью свойства locale.
Функции доступа:
| bool | localizeNumbers() const |
| void | setLocalizeNumbers(bool localize) |
См. также locale.
margins : QMargins
Это свойство содержит минимальные отступы между краем прямоугольника графика и областью построения.
Отступы используются для рисования заголовка, осей и легенды.
Функции доступа:
| QMargins | margins() const |
| void | setMargins(const QMargins &margins) |
plotArea : QRectF
Это свойство содержит прямоугольник, в пределах которого строится график.
Область построения не включает область, определённую отступами. По умолчанию она перестраивается, если она находится внутри QChartView. Если для области построения задан явный размер, то он будет учтён. Для возвращения к поведению по умолчанию следует вызвать setPlotArea(QRectF());.
Функции доступа:
| QRectF | plotArea() const |
| void | setPlotArea(const QRectF &rect) |
Сигнал уведомления:
| void | plotAreaChanged(const QRectF &plotArea) |
plotAreaBackgroundVisible : bool
Это свойство определяет, виден ли фон области построения графика.
Примечание: По умолчанию фон области построения невидим, и область построения использует общий фон графика.
Функции доступа:
| bool | isPlotAreaBackgroundVisible() const |
| void | setPlotAreaBackgroundVisible(bool visible = true) |
См. также setPlotAreaBackgroundBrush(), setPlotAreaBackgroundPen() и backgroundVisible.
theme : QChart::ChartTheme
Это свойство содержит тему, используемую для графика.
Функции доступа:
| QChart::ChartTheme | theme() const |
| void | setTheme(QChart::ChartTheme theme) |
title : QString
Это свойство содержит заголовок графика.
Заголовок отображается в качестве заголовка над графиком. Заголовки графиков поддерживают форматирование HTML.
Функции доступа:
| QString | title() const |
| void | setTitle(const QString &title) |
Документация функций-членов
QChart::QChart(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
Создаёт объект графика, являющийся дочерним элементом parent. Свойства, указанные в wFlags, передаются конструктору QGraphicsWidget.
[virtual] QChart::~QChart()
Удаляет объект графика и его дочерние элементы, такие как серии и оси, добавленные к нему.
void QChart::addAxis(QAbstractAxis *axis, Qt::Alignment alignment)
Добавляет ось axis на график, выравнивая её в соответствии с alignment. График принимает во владение ось.
См. также removeAxis(), createDefaultAxes() и QAbstractSeries::attachAxis().
void QChart::addSeries(QAbstractSeries *series)
Добавляет серию series на график и принимает её во владение.
Примечание: Новая добавленная серия по умолчанию не прикреплена ни к какой оси, даже к тем, которые могли быть созданы для графика с помощью createDefaultAxes() до добавления серии на график. Если никакие оси не прикреплены к новой добавленной серии до отображения графика, серия будет отображаться так, как будто у неё есть оси с диапазонами, которые точно подходят серии к области графика. Это может быть запутанно, если на том же графике отображаются и другие серии, которые имеют должным образом прикреплённые оси, поэтому всегда убедитесь, что вы либо вызываете createDefaultAxes() после добавления серии, либо явно прикрепляете оси для серии.
См. также removeSeries(), removeAllSeries(), createDefaultAxes() и QAbstractSeries::attachAxis().
QList<QAbstractAxis *> QChart::axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = nullptr) const
Возвращает оси, прикреплённые к серии series с ориентацией, заданной orientation. Если серия не указана, возвращаются все оси, добавленные на график с указанной ориентацией.
См. также addAxis() и createDefaultAxes().
QBrush QChart::backgroundBrush() const
Получает кисть, используемую для отрисовки фона области графика.
См. также setBackgroundBrush().
QPen QChart::backgroundPen() const
Получает перо, используемое для отрисовки фона области графика.
См. также setBackgroundPen().
void QChart::createDefaultAxes()
Создаёт оси для графика на основе серий, которые уже были добавлены на график. Любые ранее добавленные оси на графике будут удалены.
Примечание: Эта функция должна вызываться после того, как все серии будут добавлены на график. Оси, созданные этой функцией, НЕ будут автоматически прикреплены к любой серии, добавленной на график после вызова этой функции. Серия без прикреплённых осей по умолчанию будет масштабироваться, чтобы использовать всю область графика, что может быть запутанно, если на графике также присутствуют другие серии с должным образом прикреплёнными осями.
| Тип серии | Горизонтальная ось (X) | Вертикальная ось (Y) |
|---|---|---|
| QXYSeries | QValueAxis | QValueAxis |
| QBarSeries | QBarCategoryAxis | QValueAxis |
| QPieSeries | Нет | Нет |
Если на графике добавлены несколько серий, производных от QXYSeries, и не добавлено серий других типов, то создаётся только одна пара осей. Если на график добавлены несколько серий разных типов, то каждой серии создаётся своя пара осей.
Оси, специфичные для серии, можно позже получить с помощью графика, передав серию как параметр вызова функции axes(). QPieSeries не создаёт никаких осей.
См. также axes() и QAbstractSeries::attachAxis().
bool QChart::isZoomed()
Возвращает true если какая-либо серия имеет увеличенный диапазон.
QLegend *QChart::legend() const
Возвращает объект легенды графика. Владение остаётся у графика.
QPointF QChart::mapToPosition(const QPointF &value, QAbstractSeries *series = nullptr)
Возвращает позицию на графике, соответствующую значению value в серии, указанной series.
QPointF QChart::mapToValue(const QPointF &position, QAbstractSeries *series = nullptr)
Возвращает значение в серии, указанной series, в позиции, указанной position на графике.
QBrush QChart::plotAreaBackgroundBrush() const
Возвращает кисть, используемую для заполнения фона области графика.
См. также plotArea(), plotAreaBackgroundVisible, plotAreaBackgroundPen() и setPlotAreaBackgroundBrush().
QPen QChart::plotAreaBackgroundPen() const
Возвращает перо, используемое для отрисовки фона области графика.
См. также plotArea(), plotAreaBackgroundVisible, plotAreaBackgroundBrush() и setPlotAreaBackgroundPen().
void QChart::removeAllSeries()
Удаляет и уничтожает все объекты серий, которые были добавлены на график.
См. также addSeries() и removeSeries().
void QChart::removeAxis(QAbstractAxis *axis)
Удаляет ось axis с графика. График освобождает владение указанным объектом оси axis.
См. также addAxis(), createDefaultAxes() и QAbstractSeries::detachAxis().
void QChart::removeSeries(QAbstractSeries *series)
Удаляет серию series с графика. График освобождает владение указанным объектом серии series.
См. также addSeries() и removeAllSeries().
void QChart::scroll(qreal dx, qreal dy)
Прокручивает видимую область графика на расстояние, заданное dx и dy.
Для полярных графиков dx указывает угол вдоль угловой оси, а не расстояние.
QList<QAbstractSeries *> QChart::series() const
Возвращает все серии, добавленные на график.
См. также addSeries(), removeSeries() и removeAllSeries().
void QChart::setBackgroundBrush(const QBrush &brush)
Устанавливает кисть для фона области графика в brush.
См. также backgroundBrush().
void QChart::setBackgroundPen(const QPen &pen)
Устанавливает перо для фона области графика в pen.
См. также backgroundPen().
void QChart::setPlotAreaBackgroundBrush(const QBrush &brush)
Устанавливает кисть для заполнения фона области графика в brush.
См. также plotArea(), plotAreaBackgroundVisible, setPlotAreaBackgroundPen() и plotAreaBackgroundBrush().
void QChart::setPlotAreaBackgroundPen(const QPen &pen)
Устанавливает перо, используемое для рисования фона области графика, в pen.
См. также plotArea(), plotAreaBackgroundVisible, setPlotAreaBackgroundBrush(), и plotAreaBackgroundPen().
void QChart::setTitleBrush(const QBrush &brush)
Устанавливает кисть, используемую для рисования текста заголовка, в brush.
См. также titleBrush().
void QChart::setTitleFont(const QFont &font)
Устанавливает шрифт, используемый для рисования заголовка графика, в font.
См. также titleFont().
QBrush QChart::titleBrush() const
Возвращает кисть, используемую для рисования текста заголовка.
См. также setTitleBrush().
QFont QChart::titleFont() const
Возвращает шрифт, используемый для рисования заголовка графика.
См. также setTitleFont().
void QChart::zoom(qreal factor)
Увеличивает масштаб просмотра на заданный множитель factor.
Множитель больше 1.0 увеличивает масштаб, а множитель между 0.0 и 1.0 уменьшает его.
void QChart::zoomIn()
Увеличивает масштаб просмотра в два раза.
void QChart::zoomIn(const QRectF &rect)
Увеличивает масштаб просмотра до максимального уровня, при котором прямоугольник rect по-прежнему полностью виден.
Примечание: Применение масштабирования может изменить свойства присоединённых осей, например, QAbstractAxis::min и QAbstractAxis::max.
Примечание: Для полярных графиков это не поддерживается.
void QChart::zoomOut()
Уменьшает масштаб просмотра в два раза.
Примечание: Это не будет выполняться, если результат будет содержать недопустимый диапазон логарифмической оси.
void QChart::zoomReset()
Сбрасывает области данных серий до значений, установленных до вызова любого метода масштабирования.
Примечание: Это также сбросит прокрутку и явные настройки диапазонов осей, заданные между первым масштабированием и вызовом этого метода. Если операции масштабирования не выполнялись, этот метод ничего не делает.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qchart.html