本页内容

QAbstractSeries Class

QAbstractSeries 类是所有 Qt Charts 系列的基础类。更多内容...

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

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

Status: Deprecated

该类已弃用。我们强烈建议不要在新代码中使用它。

公共类型

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::SeriesTypeCandlestick12K线图。

属性文档

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 : SeriesType

该属性存储序列的类型。

访问函数:

virtual QAbstractSeries::SeriesType type() const = 0

useOpenGL : bool

指定是否使用 OpenGL 对系列绘制进行加速。

仅支持对 QLineSeries 和 QScatterSeries 使用 OpenGL 加速。 用作 QAreaSeries 边缘系列的线系列无法使用 OpenGL 加速。当图表中包含任何使用 OpenGL 绘制的系列时,会在图表绘图区域上方创建一个透明的 QOpenGLWidget。经过加速的系列不会绘制在底层的QGraphicsView 上,而是绘制在创建的 QOpenGLWidget 上。

使用 OpenGL 加速系列绘制所获得的性能提升取决于底层硬件,但在大多数情况下提升非常显著。例如,在标准台式计算机上,为某个系列启用 OpenGL 加速通常可以在不降低帧率的情况下,渲染至少多出百倍的点。图表大小对帧率的影响也较小。

系列绘制的 OpenGL 加速旨在满足需要快速绘制大量点的使用场景。该功能经过效率优化,因此使用该加速的系列不支持许多非加速系列所具备的功能:

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

这些额外限制源于加速系列是在图表顶部的独立控件上绘制的:

  • 若在包含加速系列的图表上方绘制任何图形元素,加速系列将覆盖在这些元素之上。
  • 要使 QOpenGLWidget 具有部分透明效果,必须将其堆叠在所有其他小部件之上。这意味着在使用加速系列时,不能让其他小部件部分遮盖图表。
  • 当图形场景关联了多个图形视图时,不支持使用加速系列。
  • 当图表具有非默认几何形状时,不支持加速系列。例如,对图形视图添加变换会导致加速系列相对于图表绘制在错误的位置。

默认值为false 。

访问函数:

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

通知信号:

visible : bool

该属性用于控制系列是否可见。

默认情况下,true 。

访问函数:

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

通知信号:

成员函数文档

[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的通知 信号。

© 2026 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.