QChart类

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

头文件 #include <QChart>
继承 QGraphicsWidget
继承自

QPolarChart

公共类型

枚举AnimationOption { NoAnimation, GridAxisAnimations, SeriesAnimations, AllAnimations }
标志AnimationOptions
枚举ChartTheme { ChartThemeLight, ChartThemeBlueCerulean, ChartThemeDark, ChartThemeBrownSand, ChartThemeBlueNcs, …, ChartThemeQt }
枚举ChartType { ChartTypeUndefined, ChartTypeCartesian, ChartTypePolar }

属性

公共函数

QChart(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
虚拟~QChart()
voidaddAxis(QAbstractAxis *axis, Qt::Alignment alignment)
voidaddSeries(QAbstractSeries *series)
intanimationDuration() const
QEasingCurveanimationEasingCurve() const
QChart::AnimationOptionsanimationOptions() const
QList<QAbstractAxis *>axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = nullptr) const
QBrushbackgroundBrush() const
QPen背景笔() const
qreal背景圆角() const
QChart::ChartType图表类型() const
voidcreateDefaultAxes()
bool是否显示背景() const
bool是否启用阴影() const
bool是否显示绘图区域背景() const
boolisZoomed()
QLegend *图例() const
QLocale区域设置() const
bool本地化数字() const
QPointFmapToPosition(const QPointF &value, QAbstractSeries *series = nullptr)
QPointFmapToValue(const QPointF &position, QAbstractSeries *series = nullptr)
QMargins边距() const
QRectF绘图区域() const
QBrush绘图区域背景画刷() const
QPen绘图区域背景画笔() const
voidremoveAllSeries()
voidremoveAxis(QAbstractAxis *axis)
voidremoveSeries(QAbstractSeries *series)
voidscroll(qreal dx, qreal dy)
QList<QAbstractSeries *>series() const
voidsetAnimationDuration(int msecs)
voidsetAnimationEasingCurve(const QEasingCurve &curve)
voidsetAnimationOptions(QChart::AnimationOptions options)
voidsetBackgroundBrush(const QBrush &brush)
voidsetBackgroundPen(const QPen &pen)
voidsetBackgroundRoundness(qreal diameter)
voidsetBackgroundVisible(bool visible = true)
voidsetDropShadowEnabled(bool enabled = true)
voidsetLocale(const QLocale &locale)
voidsetLocalizeNumbers(bool localize)
voidsetMargins(const QMargins &margins)
voidsetPlotArea(const QRectF &rect)
voidsetPlotAreaBackgroundBrush(const QBrush &brush)
voidsetPlotAreaBackgroundPen(const QPen &pen)
voidsetPlotAreaBackgroundVisible(bool visible = true)
voidsetTheme(QChart::ChartTheme theme)
voidsetTitle(const QString &title)
voidsetTitleBrush(const QBrush &brush)
voidsetTitleFont(const QFont &font)
QChart::ChartThemetheme() const
QStringtitle() const
QBrushtitleBrush() const
QFonttitleFont() const
voidzoom(qreal factor)
voidzoomIn()
voidzoomIn(const QRectF &rect)
voidzoomOut()
voidzoomReset()

信号

voidplotAreaChanged(const QRectF &plotArea)

详细描述Details

QChart 是一个 QGraphicsWidget,它可以显示在 QGraphicsScene 中。它管理不同类型序列和其他图表相关对象(如图例和坐标轴)的图形表示。为了在布局中简单地显示图表,可以使用便利类 QChartView 而不是 QChart。此外,通过使用 QPolarChart 类,可以将线条、样条、区域和散点序列呈现为极坐标图表。

另请参阅QChartViewQPolarChart

成员类型文档

枚举 QChart::AnimationOption
标志 QChart::AnimationOptions

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

常量描述
QChart::NoAnimation0x0图表中的动画已禁用。这是默认值。
QChart::GridAxisAnimations0x1图表中启用了网格轴动画。
QChart::SeriesAnimations0x2图表中启用了序列动画。
QChart::AllAnimations0x3图表中启用了所有类型的动画。

AnimationOptions 类型是 QFlags<AnimationOption> 的同义词。它存储 AnimationOption 值的 OR 组合。

枚举 QChart::ChartTheme

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

主题是应用于图表所有视觉元素的自定义 UI 样式设置集合,例如系列的颜色、笔、刷和字体,以及坐标轴、标题和图例。《具有小部件的图表画廊》展示了如何使用主题。

注意:更改主题将覆盖对序列进行的所有先前自定义。

常量描述
QChart::ChartThemeLight0浅色主题,这是默认主题。
QChart::ChartThemeBlueCerulean1天蓝色主题。
QChart::ChartThemeDark2深色主题。
QChart::ChartThemeBrownSand3棕沙色主题。
QChart::ChartThemeBlueNcs4天然颜色系统(NCS)蓝色主题。
QChart::ChartThemeHighContrast5高对比度主题。
QChart::ChartThemeBlueIcy6冰蓝色主题。
QChart::ChartThemeQt7Qt 主题。

枚举 QChart::ChartType

此枚举描述图表类型。

常量描述
QChart::ChartTypeUndefined0图表类型未定义。
QChart::ChartTypeCartesian1笛卡尔图表。
QChart::ChartTypePolar2极坐标图表。

属性文档

animationDuration : int

此属性包含图表动画的持续时间。

访问函数

intanimationDuration() const
voidsetAnimationDuration(int msecs)

animationEasingCurve : QEasingCurve

此属性包含图表动画的缓动曲线。

访问函数

QEasingCurveanimationEasingCurve() const
voidsetAnimationEasingCurve(const QEasingCurve &curve)

动画选项 : QChart::AnimationOptions

此属性包含图表的动画选项。

根据此设置启用或禁用动画。

访问函数

QChart::AnimationOptionsanimationOptions() const
voidsetAnimationOptions(QChart::AnimationOptions options)

背景圆角 : qreal

此属性包含图表背景角落的圆角圆直径。

访问函数

qrealbackgroundRoundness() const
voidsetBackgroundRoundness(qreal 直径)

背景可见 : bool

此属性包含图表背景是否可见。

访问函数

boolisBackgroundVisible() const
voidsetBackgroundVisible(bool visible = true)

另请参阅setBackgroundBrush(),setBackgroundPen()和plotAreaBackgroundVisible

[只读] chartType : const QChart::ChartType

此属性包含图表是笛卡尔图表还是极坐标图表。

此属性是内部设置的,且为只读。

访问函数

QChart::ChartTypechartType() const

另请参阅QPolarChart

启用阴影 : bool

此属性包含是否启用背景阴影效果。

如果设置为true,则启用背景阴影效果。如果设置为false,则禁用。

注意:阴影效果取决于主题,因此如果更改主题,设置可能会有所变化。

访问函数

boolisDropShadowEnabled() const
voidsetDropShadowEnabled(bool enabled = true)

区域设置 : QLocale

此属性包含用于格式化各种图表标签的区域设置。

标签仅在localizeNumbers设置为true时本地化,除了QDateTimeAxis标签,它们始终使用此属性设置的QLocale

默认为构造时应用的程序默认区域设置。

访问函数

QLocalelocale() const
voidsetLocale(const QLocale &locale)

另请参阅localizeNumbers

数字本地化 : bool

此属性包含是否本地化数字。

当设置为true时,将使用locale属性设置的QLocale本地化在各种序列和轴标签中出现的所有生成的数字。当时设置为false,始终使用C区域设置。默认为false

注意:此属性不影响QDateTimeAxis标签,它们始终使用区域设置属性设置的QLocale

访问函数

boollocalizeNumbers() const
voidsetLocalizeNumbers(bool localize)

详见locale.

margins : QMargins

此属性存储图表矩形边缘与绘图区域之间允许的最小边距。

边距用于绘制标题、坐标轴和图例。

访问函数

QMarginsmargins() const
voidsetMargins(const QMargins &margins)

plotArea : QRectF

此属性存储绘制图表的矩形。

绘图区域不包括由边距定义的区域。默认情况下,如果它位于QChartView内部,则将调整大小。如果为绘图区域设置了显式大小,则它将遵守此大小。要恢复默认行为,则调用setPlotArea(QRectF());即可实现。

访问函数

QRectFplotArea() const
voidsetPlotArea(const QRectF &rect)

通知信号

voidplotAreaChanged(const QRectF &plotArea)

plotAreaBackgroundVisible : bool

此属性表示图表绘图区域背景是否可见。

注意:默认情况下,绘图区域背景不可见,绘图区域使用通用图表背景。

访问函数

boolisPlotAreaBackgroundVisible() const
voidsetPlotAreaBackgroundVisible(bool visible = true)

详见setPlotAreaBackgroundBrush(),setPlotAreaBackgroundPen()和backgroundVisible.

theme : QChart::ChartTheme

此属性存储用于图表的主题。

访问函数

QChart::ChartThemetheme() const
voidsetTheme(QChart::ChartTheme theme)

title : QString

此属性存储图表的标题。

标题显示在图表顶部作为头条。图表标题支持HTML格式化。

访问函数

QStringtitle() const
voidsetTitle(const QString &title)

成员函数文档

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

构造一个作为parent子项的图表对象。将wFlags指定的属性传递给QGraphicsWidget构造函数。

[虚拟 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() 或显式为系列附加轴。

也请参阅 removeSeriesremoveAllSeriescreateDefaultAxes,以及 QAbstractSeries::attachAxis

QList<QAbstractAxis *> QChart::axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = nullptr) const

返回具有由 orientation 指定的方向的系列 series 所附带的轴。如果没有指定系列,则返回具有指定方向的、已添加到图表的所有轴。

也请参阅 addAxis,以及 createDefaultAxes

QBrush QChart::backgroundBrush() const

获取用于绘制图表区域的背景的画刷。

也请参阅 setBackgroundBrush

QPen QChart::backgroundPen() const

获取用于绘制图表区域背景的笔。

也请参阅 setBackgroundPen

void QChart::createDefaultAxes()

根据已添加到图表中的系列创建图表的轴。之前添加到图表的任何轴都将被删除。

注意: 在所有系列都添加到图表后,必须调用此函数。此函数创建的轴将不会自动附加到在调用该函数后添加到图表中的任何系列。没有附属轴的系列默认会扩展以利用图表的整个绘图区域,如果还有其他具有正确附加轴的系列,则这可能很令人困惑。

系列类型水平轴(X)垂直轴(Y)
QXYSeriesQValueAxisQValueAxis
QBarSeriesQBarCategoryAxisQValueAxis
QPieSeries

如果有多个 QXYSeries 派生系列已添加到图表,并且未添加其他类型的系列,则仅创建一个轴对。如果添加到图表的系列类型不同,每个系列都获得自己的轴对。

可以通过将系列作为参数传递给axes()函数调用来从图表中获取特定于系列的坐标轴。QPieSeries不创建任何坐标轴。

参考axes()和QAbstractSeries::attachAxis

bool QChart::isZoomed()

如果有任何系列有缩放领域,则返回true

QLegend *QChart::legend() const

返回图表的图例对象。所有权属于图表。

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

返回与series指定的系列中的值value相对应的图表上的位置。

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

返回在图表中,由series指定的系列和由position指定的位置中的值。

QBrush QChart::plotAreaBackgroundBrush() const

返回用于填充图表绘图区域背景的画笔。

参考plotArea(),plotAreaBackgroundVisibleplotAreaBackgroundPensetPlotAreaBackgroundBrush

QPen QChart::plotAreaBackgroundPen() const

返回用于绘制图表绘图区域背景的画笔。

参考plotArea(),plotAreaBackgroundVisibleplotAreaBackgroundBrushsetPlotAreaBackgroundPen

void QChart::removeAllSeries()

删除并删除添加到图表中的所有系列对象。

参考addSeries()和removeSeries

void QChart::removeAxis(QAbstractAxis *axis)

从图表中删除坐标轴axis。图表释放指定的axis对象的所有权。

参考addAxiscreateDefaultAxesQAbstractSeries::detachAxis

void QChart::removeSeries(QAbstractSeries *series)

从图表中删除系列series。图表释放指定的series对象的所有权。

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

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

通过由dxdy指定的距离滚动图表的可视区域。

对于极坐标图表,dx表示沿着角度轴的角度而不是距离。

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

返回所有添加到图表中的序列。

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

void QChart::setBackgroundBrush(const QBrush &brush)

将用于绘制图表区域的背景的画笔设置为brush

另请参阅 backgroundBrush

void QChart::setBackgroundPen(const QPen &pen)

将用于绘制图表区域背景的画笔设置为pen

另请参阅 backgroundPen

void QChart::setPlotAreaBackgroundBrush(const QBrush &brush)

将用于填充图表区域背景的画笔设置为brush

另请参阅 plotAreaplotAreaBackgroundVisiblesetPlotAreaBackgroundPenplotAreaBackgroundBrush

void QChart::setPlotAreaBackgroundPen(const QPen &pen)

将用于绘制图表区域背景的画笔设置为pen

另请参阅 plotAreaplotAreaBackgroundVisiblesetPlotAreaBackgroundBrushplotAreaBackgroundPen

void QChart::setTitleBrush(const QBrush &brush)

将用于绘制标题文本的画笔设置为brush

另请参阅 titleBrush

void QChart::setTitleFont(const QFont &font)

将用于绘制图表标题的字体设置为font

另请参阅 titleFont

QBrush QChart::titleBrush() const

返回用于绘制标题文本的画笔。

另请参阅 setTitleBrush

QFont QChart::titleFont() const

获取用于绘制图表标题的字体。

另请参阅 setTitleFont()。

void QChart::zoom(qreal factor)

通过自定义因子 factor 放大视图。

大于 1.0 的因子会放大视图,介于 0.0 和 1.0 之间的因子则会缩小视图。

void QChart::zoomIn()

以两倍的因子放大视图。

void QChart::zoomIn(const QRectF &rect)

放大视图以使矩形 rect 保持完全可见的最大级别。

注意: 应用缩放可能会修改附加轴的属性,例如 QAbstractAxis::min 和 QAbstractAxis::max。

注意: 极坐标图表不支持此功能。

void QChart::zoomOut()

以两倍的因子缩小视图。

注意: 如果结果包含无效的对数轴范围,则不会执行任何操作。

void QChart::zoomReset()

将系列域重置为调用任何缩放方法之前的值。

注意: 这还将重置从第一次缩放操作到调用此方法之间指定的滚动和显式轴范围设置。如果没有执行过缩放操作,则此方法不会执行任何操作。

© 2024 The Qt Company Ltd. 本文档中的文档贡献者是各自所有者的版权。提供的文档是在 Free Software Foundation 发布的 GNU 通用文档许可证版本 1.3 的条款下许可的。Qt 以及相应的标志是 The Qt Company Ltd. 在芬兰和其他国家/地区的商标。所有其他商标均为其各自所有者的财产。