QChart 类

QChart 类管理图表系列、图例和轴的图形表示。 更多...

头: #include <QChart>
继承: QGraphicsWidget
继承者:

QPolarChart

公共类型

enum AnimationOption { NoAnimation, GridAxisAnimations, SeriesAnimations, AllAnimations }
flags AnimationOptions
enum ChartTheme { ChartThemeLight, ChartThemeBlueCerulean, ChartThemeDark, ChartThemeBrownSand, ChartThemeBlueNcs, …, ChartThemeQt }
enum ChartType { ChartTypeUndefined, ChartTypeCartesian, ChartTypePolar }

特性

公共函数

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 and QPolarChart .

成员类型文档编制

enum QChart:: AnimationOption
flags QChart:: AnimationOptions

此枚举描述图表中启用的动画。

常量 描述
QChart::NoAnimation 0x0 Animation is disabled in the chart. This is the default value.
QChart::GridAxisAnimations 0x1 Grid axis animation is enabled in the chart.
QChart::SeriesAnimations 0x2 Series animation is enabled in the chart.
QChart::AllAnimations 0x3 All animation types are enabled in the chart.

AnimationOptions 类型是 typedef 对于 QFlags <AnimationOption>. It stores an OR combination of AnimationOption values.

enum QChart:: ChartTheme

此枚举描述用于图表的主题。

A theme is a built-in collection of UI style related settings applied to all the visual elements of a chart, such as colors, pens, brushes, and fonts of series, as well as axes, title, and legend. The Charts with Widgets Gallery illustrates how to use themes.

注意: Changing the theme will overwrite all customizations previously applied to the series.

常量 描述
QChart::ChartThemeLight 0 The light theme, which is the default theme.
QChart::ChartThemeBlueCerulean 1 钴天蓝主题。
QChart::ChartThemeDark 2 暗黑主题。
QChart::ChartThemeBrownSand 3 The sand brown theme.
QChart::ChartThemeBlueNcs 4 The natural color system (NCS) blue theme.
QChart::ChartThemeHighContrast 5 The high contrast theme.
QChart::ChartThemeBlueIcy 6 The icy blue theme.
QChart::ChartThemeQt 7 Qt 主题。

enum QChart:: ChartType

此枚举描述图表类型。

常量 描述
QChart::ChartTypeUndefined 0 图表类型未定义。
QChart::ChartTypeCartesian 1 笛卡尔图表。
QChart::ChartTypePolar 2 极坐标图表。

特性文档编制

animationDuration : int

This property holds the duration of the animation for the chart.

访问函数:

int animationDuration () const
void setAnimationDuration (int msecs )

animationEasingCurve : QEasingCurve

This property holds the easing curve of the animation for the chart.

访问函数:

QEasingCurve animationEasingCurve () const
void setAnimationEasingCurve (const QEasingCurve & curve )

animationOptions : QChart::AnimationOptions

This property holds the animation options for the chart.

Animations are enabled or disabled based on this setting.

访问函数:

QChart::AnimationOptions animationOptions () const
void setAnimationOptions (QChart::AnimationOptions options )

backgroundRoundness : qreal

This property holds the diameter of the rounding circle at the corners of the chart background.

访问函数:

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

This property holds whether the chart is a cartesian chart or a polar chart.

This property is set internally and it is read only.

访问函数:

QChart::ChartType chartType () const

另请参阅 QPolarChart .

dropShadowEnabled : bool

This property holds whether the background drop shadow effect is enabled.

若设为 true , the background drop shadow effect is enabled. If set to false , it is disabled.

注意: The drop shadow effect depends on the theme, and therefore the setting may change if the theme is changed.

访问函数:

bool isDropShadowEnabled () const
void setDropShadowEnabled (bool enabled = true)

locale : QLocale

此特性保持用于格式各种图表标签的区域设置。

Labels are localized only when localizeNumbers is true , except for QDateTimeAxis labels, which always use the QLocale set with this property.

Defaults to the application default locale at the time when the chart is constructed.

访问函数:

QLocale locale () const
void setLocale (const QLocale & locale )

另请参阅 localizeNumbers .

localizeNumbers : bool

This property holds whether numbers are localized.

true , all generated numbers appearing in various series and axis labels will be localized using the QLocale set with the locale property. When false C locale is always used. Defaults to false .

注意: This property does not affect QDateTimeAxis labels, which always use the QLocale set with the locale property.

访问函数:

bool localizeNumbers () const
void setLocalizeNumbers (bool localize )

另请参阅 locale .

margins : QMargins

This property holds the minimum margins allowed between the edge of the chart rectangle and the plot area.

The margins are used for drawing the title, axes, and legend.

访问函数:

QMargins margins () const
void setMargins (const QMargins & margins )

plotArea : QRectF

此特性保持绘制图表内的矩形。

The plot area does not include the area defined by margins. By default this will resize if inside a QChartView . If an explicit size is set for the plot area then it will respect this, to revert back to the default behavior, then calling setPlotArea(QRectF()); will achieve this.

访问函数:

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 )

成员函数文档编制

[explicit] QChart:: QChart ( QGraphicsItem * parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())

构造子级图表对象为 parent 。特性指定通过 wFlags 被传递给 QGraphicsWidget 构造函数。

[virtual noexcept] 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

Gets the brush that is used for painting the background of the chart area.

另请参阅 setBackgroundBrush ().

QPen QChart:: backgroundPen () const

Gets the pen that is used for painting the background of the chart area.

另请参阅 setBackgroundPen ().

void QChart:: createDefaultAxes ()

基于已添加到图表的系列为图表创建轴。先前添加到图表的任何轴都会被删除。

注意: 此函数必须被调用,在将所有系列添加到图表后。由此函数创建的轴不会自动附加到 (已添加到图表的) 任何系列,在此函数被调用后。默认情况下,将比例缩放没有附加轴的系列以利用图表的整个绘图区域,这会令人困惑,若还存在其它带有正确附加轴的系列。

系列类型 水平轴 (X) 垂直轴 (Y)
QXYSeries QValueAxis QValueAxis
QBarSeries QBarCategoryAxis QValueAxis
QPieSeries None None

若有几个 QXYSeries 派生系列被添加到图表且未添加其它类型的系列,则仅创建一对轴。若表有添加几个不同类型的系列,那么每个系列都有自己的轴对。

稍后可以从图表获得系列的特定轴,通过将系列提供作为参数对于 axes () 函数调用。 QPieSeries 不创建任何轴。

另请参阅 axes () 和 QAbstractSeries::attachAxis ().

bool QChart:: isZoomed ()

返回 true if any series has a zoomed domain.

QLegend *QChart:: legend () const

返回图表的图例对象。所有权停留在图表。

QPointF QChart:: mapToPosition (const QPointF & value , QAbstractSeries * series = nullptr)

Returns the position on the chart that corresponds to the value value in the series specified by series .

QPointF QChart:: mapToValue (const QPointF & position , QAbstractSeries * series = nullptr)

Returns the value in the series specified by series at the position specified by position in a chart.

QBrush QChart:: plotAreaBackgroundBrush () const

Returns the brush used to fill the background of the plot area of the chart.

另请参阅 plotArea (), plotAreaBackgroundVisible , plotAreaBackgroundPen (),和 setPlotAreaBackgroundBrush ().

QPen QChart:: plotAreaBackgroundPen () const

Returns the pen used to draw the background of the plot area of the chart.

另请参阅 plotArea (), plotAreaBackgroundVisible , plotAreaBackgroundBrush (),和 setPlotAreaBackgroundPen ().

void QChart:: removeAllSeries ()

Removes and deletes all series objects that have been added to the chart.

另请参阅 addSeries () 和 removeSeries ().

void QChart:: removeAxis ( QAbstractAxis * axis )

Removes the axis axis from the chart. The chart releases the ownership of the specified axis 对象。

另请参阅 addAxis (), createDefaultAxes (),和 QAbstractSeries::detachAxis ().

void QChart:: removeSeries ( QAbstractSeries * series )

Removes the series series from the chart. The chart releases the ownership of the specified series 对象。

另请参阅 addSeries () 和 removeAllSeries ().

void QChart:: scroll ( qreal dx , qreal dy )

Scrolls the visible area of the chart by the distance specified by dx and dy .

For polar charts, dx indicates the angle along the angular axis instead of distance.

QList < QAbstractSeries *> QChart:: series () const

Returns all series that are added to the chart.

另请参阅 addSeries (), removeSeries (),和 removeAllSeries ().

void QChart:: setBackgroundBrush (const QBrush & brush )

Sets the brush that is used for painting the background of the chart area to brush .

另请参阅 backgroundBrush ().

void QChart:: setBackgroundPen (const QPen & pen )

Sets the pen that is used for painting the background of the chart area to pen .

另请参阅 backgroundPen ().

void QChart:: setPlotAreaBackgroundBrush (const QBrush & brush )

Sets the brush used to fill the background of the plot area of the chart to brush .

另请参阅 plotArea (), plotAreaBackgroundVisible , setPlotAreaBackgroundPen (),和 plotAreaBackgroundBrush ().

void QChart:: setPlotAreaBackgroundPen (const QPen & pen )

Sets the pen used to draw the background of the plot area of the chart to pen .

另请参阅 plotArea (), plotAreaBackgroundVisible , setPlotAreaBackgroundBrush (),和 plotAreaBackgroundPen ().

void QChart:: setTitleBrush (const QBrush & brush )

Sets the brush used for drawing the title text to brush .

另请参阅 titleBrush ().

void QChart:: setTitleFont (const QFont & font )

Sets the font that is used for drawing the chart title to font .

另请参阅 titleFont ().

QBrush QChart:: titleBrush () const

Returns the brush used for drawing the title text.

另请参阅 setTitleBrush ().

QFont QChart:: titleFont () const

Gets the font that is used for drawing the chart title.

另请参阅 setTitleFont ().

void QChart:: zoom ( qreal factor )

Zooms into the view by the custom factor factor .

A factor over 1.0 zooms into the view and a factor between 0.0 and 1.0 zooms out of it.

void QChart:: zoomIn ()

Zooms into the view by a factor of two.

void QChart:: zoomIn (const QRectF & rect )

Zooms into the view to a maximum level at which the rectangle rect is still fully visible.

注意: Applying a zoom may modify properties of attached axes, for instance QAbstractAxis::min and QAbstractAxis::max.

注意: 这不支持极坐标图表。

void QChart:: zoomOut ()

Zooms out of the view by a factor of two.

注意: This will do nothing if the result would contain an invalid logarithmic axis range.

void QChart:: zoomReset ()

Resets the series domains to what they were before any zoom method was called.

注意: This will also reset scrolling and explicit axis range settings specified between the first zoom operation and calling this method. If no zoom operation has been performed, this method does nothing.