QAbstractSeries 类

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

头: #include <QAbstractSeries>
实例化: AbstractSeries
继承: QObject
继承者: QAbstractBarSeries , QAreaSeries , QBoxPlotSeries , QCandlestickSeries , QPieSeries ,和 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 An area chart.
QAbstractSeries::SeriesTypeBar 2 A vertical bar chart.
QAbstractSeries::SeriesTypeStackedBar 3 A vertical stacked bar chart.
QAbstractSeries::SeriesTypePercentBar 4 A vertical percent bar chart.
QAbstractSeries::SeriesTypePie 5 饼状图表。
QAbstractSeries::SeriesTypeScatter 6 散点图表。
QAbstractSeries::SeriesTypeSpline 7 A spline chart.
QAbstractSeries::SeriesTypeHorizontalBar 8 A horizontal bar chart.
QAbstractSeries::SeriesTypeHorizontalStackedBar 9 A horizontal stacked bar chart.
QAbstractSeries::SeriesTypeHorizontalPercentBar 10 A horizontal percent bar chart.
QAbstractSeries::SeriesTypeBoxPlot 11 A box plot chart.
QAbstractSeries::SeriesTypeCandlestick 12 A candlestick chart.

特性文档编制

name : QString

This property holds the name of the series.

The name is displayed in the legend for the series and it supports HTML formatting.

访问函数:

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

通知程序信号:

void nameChanged ()

opacity : qreal

This property holds the opacity of the series.

By default, the opacity is 1.0. The valid values range from 0.0 (transparent) to 1.0 (opaque).

访问函数:

qreal opacity () const
void setOpacity (qreal opacity )

通知程序信号:

void opacityChanged ()

[read-only] type : const SeriesType

This property holds the type of the series.

访问函数:

virtual QAbstractSeries::SeriesType type () const = 0

useOpenGL : bool

Specifies whether or not drawing the series is accelerated by using OpenGL.

Acceleration using OpenGL is supported only for QLineSeries and QScatterSeries . A line series used as an edge series for QAreaSeries cannot use OpenGL acceleration. When a chart contains any series that are drawn with OpenGL, a transparent QOpenGLWidget is created on top of the chart plot area. The accelerated series are not drawn on the underlying QGraphicsView , but are instead drawn on the created QOpenGLWidget.

Performance gained from using OpenGL to accelerate series drawing depends on the underlying hardware, but in most cases it is significant. For example, on a standard desktop computer, enabling OpenGL acceleration for a series typically allows rendering at least a hundred times more points without reduction on the frame rate. Chart size also has less effect on the frame rate.

The OpenGL acceleration of series drawing is meant for use cases that need fast drawing of large numbers of points. It is optimized for efficiency, and therefore the series using it lack support for many features available to non-accelerated series:

  • Series animations are not supported for accelerated series.
  • Point labels are not supported for accelerated series.
  • Pen styles, marker shapes and light markers are ignored for accelerated series. Only solid lines and plain scatter dots are supported. The scatter dots may be circular or rectangular, depending on the underlying graphics hardware and drivers.
  • Polar charts do not support accelerated series.
  • Enabling chart drop shadow or using transparent chart background color is not recommended when using accelerated series, as that can slow the frame rate down significantly.

These additional restrictions stem from the fact that the accelerated series is drawn on a separate widget on top of the chart:

  • If you draw any graphics items on top of a chart containing an accelerated series, the accelerated series is drawn over those items.
  • To enable QOpenGLWidget to be partially transparent, it needs to be stacked on top of all other widgets. This means you cannot have other widgets partially covering the chart when using accelerated series.
  • Accelerated series are not supported for use cases where the graphics scene has more than one graphics view attached to it.
  • Accelerated series are not supported for use cases where the chart has non-default geometry. For example, adding transforms to the graphics view causes the accelerated series to be drawn in an incorrect position related to the chart.

默认值为 false .

访问函数:

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

通知程序信号:

void useOpenGLChanged ()

visible : bool

This property holds whether the series is visible or not.

默认情况下, true .

访问函数:

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

通知程序信号:

void visibleChanged ()

成员函数文档编制

[signal] void QAbstractSeries:: nameChanged ()

This signal is emitted when the series name changes.

注意: 通知程序信号对于特性 name .

[signal] void QAbstractSeries:: opacityChanged ()

This signal is emitted when the opacity of the series changes.

注意: 通知程序信号对于特性 opacity .

[signal] void QAbstractSeries:: useOpenGLChanged ()

This signal is emitted when accelerating the drawing of the series by using OpenGL is enabled or disabled.

注意: 通知程序信号对于特性 useOpenGL .

[signal] void QAbstractSeries:: visibleChanged ()

This signal is emitted when the series visibility changes.

注意: 通知程序信号对于特性 visible .

[虚拟] QAbstractSeries:: ~QAbstractSeries ()

Virtual destructor for the chart series.

bool QAbstractSeries:: attachAxis ( QAbstractAxis * axis )

附加轴的指定是通过 axis 到系列。

返回 true 若轴附加成功, false 否则。

注意: If multiple axes of the same orientation are attached to the same series, they will have the same minimum and maximum values.

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

QList < QAbstractAxis *> QAbstractSeries:: attachedAxes ()

Returns the list of axes attached to the series. Usually, an x-axis and a y-axis are attached to a series, except for QPieSeries , which does not have any axes attached.

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

QChart *QAbstractSeries:: chart () const

Returns the chart that the series belongs to.

Set automatically when the series is added to the chart, and unset when the series is removed from the chart.

bool QAbstractSeries:: detachAxis ( QAbstractAxis * axis )

Detaches the axis specified by axis from the series.

返回 true if the axis was detached successfully, false 否则。

另请参阅 QChart::removeAxis ().

void QAbstractSeries:: hide ()

Sets the visibility of the series to false .

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

void QAbstractSeries:: show ()

Sets the visibility of the series to true .

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