QAbstractSeries Class

QAbstractSeries 类是所有 Qt Charts 系列的基类。更多

Header: #include <QAbstractSeries>
In QML: AbstractSeries
Inherits: QObject
Inherited By:

QAbstractBarSeries, QAreaSeries, QBoxPlotSeries, QCandlestickSeries, QPieSeries, and QXYSeries

公共类型

enum SeriesType { SeriesTypeLine, SeriesTypeArea, SeriesTypeBar, SeriesTypeStackedBar, SeriesTypePercentBar, …, SeriesTypeCandlestick }

属性

公共功能

virtual ~QAbstractSeries()
bool attachAxis(QAbstractAxis *axis)
QList<QAbstractAxis *> attachedAxes()
QChart *chart() const
bool detachAxis(QAbstractAxis *axis)
void hide()
bool isVisible() const
QString name() const
qreal opacity() const
void setName(const QString &name)
void setOpacity(qreal opacity)
void setUseOpenGL(bool enable = true)
void setVisible(bool visible = true)
void show()
virtual QAbstractSeries::SeriesType type() const = 0
bool useOpenGL() const

信号

详细说明

通常,使用系列类型特定的继承类来代替基类。

另请参见 QXYSeries,QLineSeries,QSplineSeries,QScatterSeries,QAreaSeries,QAbstractBarSeries,QBarSeries,QStackedBarSeries,QPercentBarSeries,QHorizontalBarSeries,QHorizontalStackedBarSeries,QHorizontalPercentBarSeries, 和QPieSeries

成员类型文档

enum QAbstractSeries::SeriesType

该枚举描述了系列的类型。

常数描述
QAbstractSeries::SeriesTypeLine0折线图
QAbstractSeries::SeriesTypeArea1面积图
QAbstractSeries::SeriesTypeBar2垂直条形图
QAbstractSeries::SeriesTypeStackedBar3垂直堆叠条形图
QAbstractSeries::SeriesTypePercentBar4垂直百分比柱形图
QAbstractSeries::SeriesTypePie5饼图
QAbstractSeries::SeriesTypeScatter6散点图
QAbstractSeries::SeriesTypeSpline7曲线图
QAbstractSeries::SeriesTypeHorizontalBar8水平条形图
QAbstractSeries::SeriesTypeHorizontalStackedBar9水平堆叠条形图
QAbstractSeries::SeriesTypeHorizontalPercentBar10水平百分比柱形图
QAbstractSeries::SeriesTypeBoxPlot11箱形图
QAbstractSeries::SeriesTypeCandlestick12蜡烛图

属性文档

name : QString

该属性用于保存系列的名称。

该名称将显示在系列的图例中,并支持 HTML 格式。

访问功能:

QString name() const
void setName(const QString &name)

通知信号:

void nameChanged()

opacity : qreal

此属性表示系列的不透明度。

默认情况下,不透明度为 1.0。有效值范围从 0.0(透明)到 1.0(不透明)。

访问功能:

qreal opacity() const
void setOpacity(qreal opacity)

通知信号:

[read-only] type : const SeriesType

此属性表示系列的类型。

访问功能:

virtual QAbstractSeries::SeriesType type() const = 0

useOpenGL : bool

指定是否使用 OpenGL 加速绘制序列。

只有QLineSeriesQScatterSeries 支持使用 OpenGL 加速。用作QAreaSeries 边缘系列的线系列不能使用 OpenGL 加速。当图表包含任何使用 OpenGL 绘制的序列时,会在图表绘图区域顶部创建一个透明的 QOpenGLWidget。加速序列不会绘制在底层QGraphicsView 上,而是绘制在创建的 QOpenGLWidget 上。

使用 OpenGL 加速序列绘制所获得的性能取决于底层硬件,但在大多数情况下都非常显著。例如,在标准的台式电脑上,启用 OpenGL 加速后,通常可以在不降低帧频的情况下多渲染至少 100 倍的点。图表大小对帧频的影响也较小。

OpenGL 加速序列绘制适用于需要快速绘制大量点的用例。它针对效率进行了优化,因此使用它的序列不支持非加速序列的许多功能:

  • 加速数列不支持数列动画。
  • 加速数列不支持点标签。
  • 加速数列忽略钢笔样式、标记形状和光标记。只支持实线和普通散点。散点可以是圆形或矩形,具体取决于底层图形硬件和驱动程序。
  • 极坐标图表不支持加速序列。
  • 使用加速序列时,不建议启用图表阴影或使用透明图表背景色,因为这会大大降低帧频。

这些额外的限制是因为加速序列是在图表顶部的一个单独部件上绘制的:

  • 如果在包含加速数列的图表顶部绘制任何图形项目,加速数列将绘制在这些项目之上。
  • 要使 QOpenGLWidget 部分透明,需要将其堆叠在所有其他部件的顶部。这意味着在使用加速序列时,不能让其他部件部分覆盖图表。
  • 如果图形场景有多个图形视图,则不支持加速序列。
  • 在图表具有非默认几何形状的使用情况下,不支持加速序列。例如,向图形视图添加变换会导致加速序列绘制到与图表相关的不正确位置。

默认值为false

访问功能:

bool useOpenGL() const
void setUseOpenGL(bool enable = true)

通知信号:

visible : bool

此属性表示系列是否可见。

默认情况下,true

访问功能:

bool isVisible() const
void setVisible(bool visible = true)

Notifier 信号:

成员函数文档

[virtual noexcept] QAbstractSeries::~QAbstractSeries()

图表系列的虚拟析构函数。

bool QAbstractSeries::attachAxis(QAbstractAxis *axis)

axis 指定的轴附加到系列。

如果轴已成功附加,则返回true ,否则返回false

注: 如果将多个方向相同的轴附加到同一数列,它们将具有相同的最小值和最大值。

另请参阅 QChart::addAxis() 和QChart::createDefaultAxes()。

QList<QAbstractAxis *> QAbstractSeries::attachedAxes()

返回系列附加的坐标轴列表。通常,一个数列会附加一个 x 轴和一个 y 轴,但QPieSeries 除外,它没有附加任何轴。

另请参阅 attachAxis() 和detachAxis()。

QChart *QAbstractSeries::chart() const

返回系列所属的图表。

系列添加到图表时自动设置,系列从图表中删除时取消设置。

bool QAbstractSeries::detachAxis(QAbstractAxis *axis)

axis 指定的轴从系列中分离。

如果轴已成功分离,则返回true ,否则返回false

另请参阅 QChart::removeAxis() 。

void QAbstractSeries::hide()

将系列的可见性设置为false

另请参阅 setVisible() 和isVisible()。

[signal] void QAbstractSeries::nameChanged()

该信号在系列名称更改时发出。

注: 属性name 的通知信号。

[signal] void QAbstractSeries::opacityChanged()

该信号在序列的不透明度发生变化时发出。

注: 属性opacity 的通知信号。

void QAbstractSeries::show()

将系列的可见性设置为true

另请参阅 setVisible() 和isVisible()。

[signal] void QAbstractSeries::useOpenGLChanged()

启用或禁用 OpenGL 加速绘制序列时,将发出该信号。

注: 属性useOpenGL 的通知信号。

[signal] void QAbstractSeries::visibleChanged()

该信号在系列可见性发生变化时发出。

注: 属性visible 的通知信号。

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.