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 |
信号
void | nameChanged() |
void | opacityChanged() |
void | useOpenGLChanged() |
void | visibleChanged() |
另请参见 QXYSeries,QLineSeries,QSplineSeries,QScatterSeries,QAreaSeries,QAbstractBarSeries,QBarSeries,QStackedBarSeries,QPercentBarSeries,QHorizontalBarSeries,QHorizontalStackedBarSeries,QHorizontalPercentBarSeries, 和QPieSeries 。
成员类型文档
enum QAbstractSeries::SeriesType
该枚举描述了系列的类型。
常数 | 值 | 描述 |
---|---|---|
QAbstractSeries::SeriesTypeLine | 0 | 折线图 |
QAbstractSeries::SeriesTypeArea | 1 | 面积图 |
QAbstractSeries::SeriesTypeBar | 2 | 垂直条形图 |
QAbstractSeries::SeriesTypeStackedBar | 3 | 垂直堆叠条形图 |
QAbstractSeries::SeriesTypePercentBar | 4 | 垂直百分比柱形图 |
QAbstractSeries::SeriesTypePie | 5 | 饼图 |
QAbstractSeries::SeriesTypeScatter | 6 | 散点图 |
QAbstractSeries::SeriesTypeSpline | 7 | 曲线图 |
QAbstractSeries::SeriesTypeHorizontalBar | 8 | 水平条形图 |
QAbstractSeries::SeriesTypeHorizontalStackedBar | 9 | 水平堆叠条形图 |
QAbstractSeries::SeriesTypeHorizontalPercentBar | 10 | 水平百分比柱形图 |
QAbstractSeries::SeriesTypeBoxPlot | 11 | 箱形图 |
QAbstractSeries::SeriesTypeCandlestick | 12 | 蜡烛图 |
属性文档
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) |
通知信号:
void | opacityChanged() |
[read-only]
type : const SeriesType
此属性表示系列的类型。
访问功能:
virtual QAbstractSeries::SeriesType | type() const = 0 |
useOpenGL : bool
指定是否使用 OpenGL 加速绘制序列。
只有QLineSeries 和QScatterSeries 支持使用 OpenGL 加速。用作QAreaSeries 边缘系列的线系列不能使用 OpenGL 加速。当图表包含任何使用 OpenGL 绘制的序列时,会在图表绘图区域顶部创建一个透明的 QOpenGLWidget。加速序列不会绘制在底层QGraphicsView 上,而是绘制在创建的 QOpenGLWidget 上。
使用 OpenGL 加速序列绘制所获得的性能取决于底层硬件,但在大多数情况下都非常显著。例如,在标准的台式电脑上,启用 OpenGL 加速后,通常可以在不降低帧频的情况下多渲染至少 100 倍的点。图表大小对帧频的影响也较小。
OpenGL 加速序列绘制适用于需要快速绘制大量点的用例。它针对效率进行了优化,因此使用它的序列不支持非加速序列的许多功能:
- 加速数列不支持数列动画。
- 加速数列不支持点标签。
- 加速数列忽略钢笔样式、标记形状和光标记。只支持实线和普通散点。散点可以是圆形或矩形,具体取决于底层图形硬件和驱动程序。
- 极坐标图表不支持加速序列。
- 使用加速序列时,不建议启用图表阴影或使用透明图表背景色,因为这会大大降低帧频。
这些额外的限制是因为加速序列是在图表顶部的一个单独部件上绘制的:
- 如果在包含加速数列的图表顶部绘制任何图形项目,加速数列将绘制在这些项目之上。
- 要使 QOpenGLWidget 部分透明,需要将其堆叠在所有其他部件的顶部。这意味着在使用加速序列时,不能让其他部件部分覆盖图表。
- 如果图形场景有多个图形视图,则不支持加速序列。
- 在图表具有非默认几何形状的使用情况下,不支持加速序列。例如,向图形视图添加变换会导致加速序列绘制到与图表相关的不正确位置。
默认值为false
。
访问功能:
bool | useOpenGL() const |
void | setUseOpenGL(bool enable = true) |
通知信号:
void | useOpenGLChanged() |
visible : bool
此属性表示系列是否可见。
默认情况下,true
。
访问功能:
bool | isVisible() const |
void | setVisible(bool visible = true) |
Notifier 信号:
void | visibleChanged() |
成员函数文档
[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.