文章目录
- 一、QChart类介绍
- 二、Public Types(公共成员变量)
- 三、Properties(属性)
- 1.animationDuration--控制 QChart 对象中动画的持续时间
- 2.animationEasingCurve--用于定义图表动画的缓动曲线
- 3.animationOptions--动画选项
- 4.backgroundRoundness--背景的圆角直径
- 5.backgroundVisible--图表背景是否可见
- 6.chartType--图表类型
- 7.dropShadowEnabled--图表背景是否显示阴影效果
- 8.locale--图表使用的区域设置
- 9.localizeNumbers--数字是否本地化
- 10.margins
- 11.plotArea--图表绘制的矩形区域
- 12.plotAreaBackgroundVisible--图表绘图区域背景可见性
- 13.theme--图表的主题
- 14.title--图表的标题
- 四、Public Functions(公共成员函数)
- 1.构造函数--实例化图表对象
- 2.addAxis函数--添加坐标轴到图表中
- 3.removeAxis函数--从图表中移除坐标轴
- 4.createDefaultAxes函数--自动创建默认坐标轴
- 5.axes函数--获取坐标轴
- 6.attachAxis函数--将轴对象附加到数据系列上
- 7.addSeries函数--添加数据系列到图表中
- 8. removeSeries函数--从图表中移除一个数据系列
- 9.removeAllSeries函数--从图表中移除所有数据系列
- 10.series函数--获取图表中所有已添加的数据系列的列表
- 11.animationDuration与setAnimationDuration函数--获取/设置动画持续时间
- 12.animationEasingCurve与setAnimationEasingCurve函数--获取/设置动画的缓动曲线
- 13.animationOptions与setAnimationOptions函数--获取/设置动画选项
- 14.backgroundBrush与setBackgroundBrush函数--获取/设置绘制图表背景的画刷
- 15.backgroundPen与setBackgroundPen函数--获取/设置绘制图表背景的画笔
- 16.backgroundRoundness与setBackgroundRoundness函数--获取/设置背景圆角的直径
- 17.chartType函数--获取图表类型
- 18.isBackgroundVisible与setBackgroundVisible函数--获取/设置图表背景的可见性
- 19.isDropShadowEnabled与setDropShadowEnabled函数--获取/设置是否启用阴影效果
- 20.isPlotAreaBackgroundVisible与setPlotAreaBackgroundVisible函数--获取/设置绘图区域背景是否可见
- 21.locale与setLocale函数--获取/设置当前图表使用的区域设置
- 22.localizeNumbers与setLocalizeNumbers函数--获取/设置数字是否本地化
- 23.margins与setMargins函数--获取/设置图表的边距
- 24.plotArea与setPlotArea函数--获取/设置图表的绘图区域
- 25.plotAreaBackgroundBrush与setPlotAreaBackgroundBrush函数--获取/设置填充图表绘图区域背景的画刷
- 26.plotAreaBackgroundPen与setPlotAreaBackgroundPen函数--获取/设置绘制图表绘图区域背景的画笔
- 27.theme与setTheme函数--获取/设置图表的主题
- 28.title与setTitle函数--获取/设置图表的标题
- 29.titleFont与setTitleFont函数--获取/设置图表标题的字体样式
- 30.titleBrush与setTitleBrush函数--获取/设置绘制图表标题文本时使用的画刷
- 31.legend函数--获取图例
- 32.mapToPosition函数--将数据值映射到图表上的位置
- 33.mapToValue函数--将图表上的一个位置点逆向映射回其对应的数据值
- 34.scroll函数--滚动图表的可见区域
- 35.isZoomed函数--检查图表中的任何系列是否处于缩放状态
- 36.zoom函数--对图表视图进行缩放
- 37.zoomIn函数--将图表视图放大
- 38.zoomOut函数--将图表视图缩小
- 39.zoomReset函数--重置系列的显示范围到最初状态
- 五、Signals(信号)
一、QChart类介绍
QChart 类管理图表数据系列、图例和坐标轴的图形表示,这使得开发者可以通过 QChart
来创建和展示各种类型的图表。QChart
是一个继承自 QGraphicsWidget
的类,可以在 QGraphicsScene
中展示。QChartView
类用于在布局中显示图表,它提供了更简单的接口来将图表集成到用户界面中。QPolarChart
是一个特殊的图表类,用于以极坐标图的形式展示数据。它允许将线形、样条、区域和散点系列转换为极坐标图,提供了一种不同的数据可视化方式。
一个 QChart 一般包括序列、坐标轴、图例、 图表标题等部分。
-
数据序列:
序列是数据的表现形式。图标的类型主要就是由序列的类型决定的,常见的图表类型有折线图、柱状图、饼图、散点图等。在Qt的
QChart
中,可以通过添加不同类型的序列来展示数据,例如:QBarSeries
:用于绘制柱状图。QHorizontalBarSeries
:用于绘制水平柱状图。QPercentBarSeries
:用于绘制百分比柱状图。QHorizontalPercentBarSeries
:用于绘制水平百分比柱状图。QStackedBarSeries
:用于绘制堆叠柱状图。QHorizontalStackedBarSeries
:用于绘制水平堆叠柱状图。QBoxPlotSeries
:用于绘制火柴盒图QPieSeries
:用于绘制饼图QLineSeries
:用于绘制折线图。QSplineSeries
:用于绘制平滑曲线图。QAreaSeries
:用于绘制面积(区域)图。QScatterSeries
:用于绘制散点图。
-
坐标轴:
坐标轴是图表中用来表示数据范围和刻度的组件。一般的图表都有横轴和纵轴两个坐标轴,如折线图一般表示数据,坐标轴用 QValueAxis 类的数值坐标轴,如果用对数坐标,就可以使用 QLogValueAxis 的坐标轴;柱状图的横坐标通常是文字,可以用 QBarCategoryAxis 作为横轴,而饼图一般没有坐标轴。
-
图例:
图例 Legend 是对图表上显示的序列的说明。QLegend 是封装了图例控制功能的类,可以为每个序列设置图例中的文字,可以控制图例显示在图表的上 、下 、左、右不同位置。
QChart类使用方式:
Qt += charts
#include <QChart>
二、Public Types(公共成员变量)
1.enum QChart::AnimationOption–动画选型枚举
这个枚举类型,定义了 QChart
类中可以使用的不同动画选项。这些动画选项可以用来控制图表在更新或绘制时的动画效果,提高用户体验。
可用的动画选项包括:
QChart::NoAnimation
:不启用任何动画效果。QChart::GridAxisAnimations
:启用网格轴的动画效果。QChart::SeriesAnimations
:启用序列(如数据系列)的动画效果。QChart::AllAnimations
:启用所有类型的动画效果。
2.enum QChart::ChartTheme–图表主题枚举
这个枚举类型,用于定义 Qt 图表组件中可用的不同主题。每个主题是一组预定义的 UI 样式设置,这些设置会影响图表的视觉表现,包括颜色、画笔、画刷和字体等元素。
可选的图标主题包括:
QChart::ChartThemeLight
:浅色主题,这是默认主题。QChart::ChartThemeBlueCerulean
:天蓝色主题QChart::ChartThemeDark
:深色主题QChart::ChartThemeBrownSand
:沙棕色主题QChart::ChartThemeBlueNcs
:自然色彩系统(NCS)蓝色主题QChart::ChartThemeHighContrast
:高对比度主题QChart::ChartThemeBlueIcy
:冰蓝色主题QChart::ChartThemeQt
:Qt主题
3.enum QChart::ChartType–图标类型枚举
这个枚举类型,用来描述图表类型的。
可选的图表类型有:
QChart::ChartTypeUndefined
:值为 0,表示图表类型未定义。QChart::ChartTypeCartesian
:值为 1,表示一个笛卡尔图表(通常指的是直角坐标系中的图表,如折线图、柱状图等)。QChart::ChartTypePolar
:值为 2,表示一个极坐标图表(通常指的是极坐标系中的图表,如雷达图)。
三、Properties(属性)
1.animationDuration–控制 QChart 对象中动画的持续时间
animationDuration : int
-
属性说明:
这个属性用于保存
QChart
对象中动画的持续时间。这个属性的值以毫秒为单位,表示动画从开始到结束的总时间。 -
访问函数:
int animationDuration() const //获取动画持续时间 void setAnimationDuration(int msecs) //设置动画持续时间,单位为毫秒
2.animationEasingCurve–用于定义图表动画的缓动曲线
animationEasingCurve : QEasingCurve
-
属性说明:
这个属性用于保存图表动画的缓动曲线
缓动曲线是一种数学函数,用于控制动画的速度变化,使得动画开始和结束时的速度不是恒定的,而是根据曲线的变化加速或减速,从而让动画看起来更自然。
QEasingCurve
是 Qt 中的一个类,提供了多种预定义的缓动曲线,如线性、二次、三次、弹性等,也可以自定义缓动曲线。 -
访问函数:
QEasingCurve animationEasingCurve() const //获取当前动画的缓动曲线 void setAnimationEasingCurve(const QEasingCurve &curve) //为图表动画指定一个新的缓动曲线
3.animationOptions–动画选项
animationOptions : QChart::AnimationOptions
-
属性说明:
这个属性保存了图表的动画选项。用来控制图表的动画效果。这个属性可启用或禁用动画。
-
访问函数:
QChart::AnimationOptions animationOptions() const //获取当前动画选项 void setAnimationOptions(QChart::AnimationOptions options) //设置动画选项
4.backgroundRoundness–背景的圆角直径
backgroundRoundness : qreal
-
属性说明:
这个属性保存
Chart
对象背景角落的圆角大小。这个属性的值是一个qreal
类型,表示圆角的直径,单位通常为像素。 -
访问函数:
qreal backgroundRoundness() const //获取当前背景圆角的直径 void setBackgroundRoundness(qreal diameter)//设置背景圆角的直径
5.backgroundVisible–图表背景是否可见
backgroundVisible : bool
-
属性说明:
这个属性保存了图表背景是否可见。如果为
true
,则背景将可见;如果为false
,则背景将被隐藏。 -
访问函数:
bool isBackgroundVisible() const //获取当前背景的可见性状态 void setBackgroundVisible(bool visible = true) //设置图表背景的可见性
6.chartType–图表类型
chartType : const QChart::ChartType
-
属性说明:
这个属性保存QChart的图表类型,这个属性是内部设置的,并且是只读的。
-
访问函数:
QChart::ChartType chartType() const //获取图表类型
7.dropShadowEnabled–图表背景是否显示阴影效果
dropShadowEnabled : bool
-
属性说明:
这个属性保存
QChart
对象背景是否显示阴影效果。当此属性设置为true
时,图表背景将显示阴影效果。当设置为false
时,将禁用背景阴影效果。 -
访问函数:
bool isDropShadowEnabled() const //获取是否启用了阴影效果 void setDropShadowEnabled(bool enabled = true) //设置是否启用阴影效果,默认参数为 true。
8.locale–图表使用的区域设置
locale : QLocale
-
属性说明:
这个属性保存了用于格式化各种图表标签的区域设置。
QLocale
是 Qt 中用于表示区域设置的类,它包含了特定区域的语言、国家/地区代码、货币格式等信息。 -
访问函数:
QLocale locale() const //获取当前使用的区域设置 void setLocale(const QLocale &locale) //设置图表使用的区域设置为 locale
9.localizeNumbers–数字是否本地化
localizeNumbers : bool
-
属性说明:
这是一个布尔类型的属性,用于控制图表中的数字是否根据区域设置进行本地化。
- 当
localizeNumbers
设置为 true 时,图表中的数字(如系列标签和坐标轴标签中的数字)会根据locale
属性设置的区域进行格式化。 - 当
localizeNumbers
设置为 false 时,图表中的数字会使用 C 语言环境的默认格式
- 当
-
访问函数:
bool localizeNumbers() const //获取数字是否本地化 void setLocalizeNumbers(bool localize)//设置数字是否本地化
10.margins
margins : QMargins
-
属性说明:
这个属性保存图表矩形边缘与绘图区域之间允许的最小边距。边距用于绘制标题、坐标轴和图例。
QMargins
是一个包含四个整数值的结构,分别代表左、右、上、下边距的大小。 -
访问函数:
QMargins margins() const //获取当前设置的边距值 void setMargins(const QMargins &margins) //设置图表的边距
11.plotArea–图表绘制的矩形区域
plotArea : QRectF
-
属性说明:
这个属性保存了图表绘制的矩形区域。绘图区域不包括由边距(margins)定义的区域。如果
plotArea
没有显式设置大小,它将根据包含它的QChartView
的大小自动调整。如果为plotArea
设置了显式大小,则图表的绘制区域将保持这个大小不变。要恢复到自动调整大小的默认行为,可以调用setPlotArea(QRectF())
,这将重置绘图区域的大小。 -
访问函数:
QRectF plotArea() const //获取当前的绘图区域 void setPlotArea(const QRectF &rect) //设置图表的绘图区域为传入的 QRectF 对象
-
注意事项:
plotAreaChanged()
是一个信号,当绘图区域改变时发出,通知监听者绘图区域的大小或位置已经更新。
12.plotAreaBackgroundVisible–图表绘图区域背景可见性
plotAreaBackgroundVisible : bool
-
属性说明:
这个属性用来保存图表的绘图区域背景是否可见。默认情况下,绘图区域背景是不可见的
-
访问函数:
bool isPlotAreaBackgroundVisible() const //检查绘图区域背景是否可见 void setPlotAreaBackgroundVisible(bool visible = true) //设置绘图区域背景可见性
13.theme–图表的主题
theme : QChart::ChartTheme
-
属性说明:
这个属性保存了用于图表的主题。
-
访问函数:
QChart::ChartTheme theme() const //获取当前使用的主题 void setTheme(QChart::ChartTheme theme) //设置图表的主题
14.title–图表的标题
title : QString
-
属性说明:
这个属性保存了图表的标题文本。 图表的标题通常显示在图表的顶部,可以作为对图表内容的简要描述。标题支持HTML格式化,这意味着您可以使用HTML标签来设置文本样式,如字体大小、颜色和加粗等。
-
访问函数:
QString title() const //获取当前标题。 void setTitle(const QString &title) //设置标题。
-
示例:
// 设置图表标题,使用HTML格式化设置加粗和红色文本 QString chartTitle = "<html><body><b><font color='red'>Sales Data</font></b></body></html>"; chart->setTitle(chartTitle);
四、Public Functions(公共成员函数)
1.构造函数–实例化图表对象
QChart::QChart(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
-
函数说明:
实例化图表对象
-
参数说明:
-
参数
parent
是图表对象的父对象,类型为QGraphicsItem*
。如果提供nullptr
,则图表对象将成为顶级项。 -
参数
wFlags
是一个窗口标志,用于指定图表对象的一些属性。Qt::WindowFlags
是一个枚举类型,定义了各种窗口相关的属性,例如是否可见、是否可以获取焦点等。
-
2.addAxis函数–添加坐标轴到图表中
void QChart::addAxis(QAbstractAxis *axis, Qt::Alignment alignment)
-
函数说明:
用于将一个
QAbstractAxis
对象(坐标轴)添加到QChart
对象(图表)中。图表接管坐标轴的所有权,这意味着图表将负责管理坐标轴的生命周期,包括其内存释放。 -
参数说明:
-
参数
axis
是要添加的坐标轴对象,可以是QValueAxis
、QCategoryAxis
等具体类型的坐标轴。 -
参数
alignment
指定坐标轴在图表中的对齐方式,使用Qt::Alignment
枚举值。常见的对齐方式有:
Qt::AlignLeft
:左对齐。Qt::AlignRight
:右对齐。Qt::AlignTop
:顶部对齐。Qt::AlignBottom
:底部对齐。
-
-
示例:
QChart *chart = new QChart(); // 创建一个数值轴并添加到图表中,左对齐 QValueAxis *valueAxis = new QValueAxis(); valueAxis->setRange(0, 100); // 设置数值轴的范围 chart->addAxis(valueAxis, Qt::AlignLeft); // 创建一个分类轴并添加到图表中,底部对齐 QCategoryAxis *categoryAxis = new QCategoryAxis(); categoryAxis->append("January", 1); categoryAxis->append("February", 2); categoryAxis->append("March", 3); chart->addAxis(categoryAxis, Qt::AlignBottom);
3.removeAxis函数–从图表中移除坐标轴
void QChart::removeAxis(QAbstractAxis *axis)
-
函数说明:
用于从
QChart
对象(图表)中移除一个QAbstractAxis
对象(坐标轴)。一旦坐标轴从图表中移除,图表将不再管理该坐标轴对象的生命周期。
-
参数说明:
- 参数
axis
是要移除的坐标轴对象。
- 参数
4.createDefaultAxes函数–自动创建默认坐标轴
void QChart::createDefaultAxes()
-
函数说明:
用于根据已经添加到图表中的系列自动创建默认坐标轴。这使得开发者不必手动为每个系列创建和配置坐标轴。调用此函数后,之前添加到图表的所有坐标轴将被删除,并根据系列的类型创建新的坐标轴。此函数必须在所有系列都添加到图表之后调用。创建的坐标轴不会自动附加到在此函数调用后添加到图表的任何系列。因此,如果在此函数调用后添加新的系列,需要手动将这些系列附加到坐标轴。
系列类型和它们对应的坐标轴类型:
QXYSeries
:水平轴为QValueAxis
,垂直轴也为QValueAxis
。QBarSeries
:水平轴为QBarCategoryAxis
,垂直轴为QValueAxis
。QPieSeries
:不创建坐标轴。- 如果图表中有多个
QXYSeries
派生系列且没有其他类型的系列,则只创建一对坐标轴。如果有多个不同类型的系列,则每个系列将获得自己的坐标轴对。
5.axes函数–获取坐标轴
QList<QAbstractAxis *> QChart::axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = nullptr) const
-
函数说明:
返回附加到系列 series 的坐标轴,这些坐标轴的方向由 orientation 指定。如果没有指定系列,则返回添加到图表中具有指定方向的所有坐标轴。
-
参数说明:
- 参数
orientation
定义了要检索的坐标轴的方向。它可以是Qt::Horizontal
(水平方向)、Qt::Vertical
(垂直方向)或者两者的组合(Qt::Horizontal|Qt::Vertical
),表示检索水平和垂直方向的坐标轴。 - 参数
series
是一个指向特定QAbstractSeries
对象的指针。如果提供了这个参数,函数将只返回附加到这个系列的坐标轴。如果此参数为nullptr
,则返回所有符合方向参数的坐标轴。
- 参数
6.attachAxis函数–将轴对象附加到数据系列上
bool QAbstractSeries::attachAxis(QAbstractAxis *axis)
-
函数说明:
用于将一个轴对象
axis
附加到数据系列上。如果轴成功附加到系列上,则返回true
;如果附加失败,则返回false
。注意:如果将多个相同方向的轴附加到同一个系列,它们将具有相同的最小值和最大值。
-
参数说明:
QAbstractAxis *axis
是要附加的轴对象的指针。 -
应用场景:
在图表中,数据系列通常需要与轴关联,以便正确地显示数据。使用
attachAxis
函数可以将自定义的轴附加到特定的数据系列上。
7.addSeries函数–添加数据系列到图表中
void QChart::addSeries(QAbstractSeries *series)
-
函数说明:
用于将一个数据系列
series
添加到图表中,并由图表接管该系列的所有权,这意味着图表将负责管理该系列的生命周期。应该在添加数据系列之后调用
createDefaultAxes()
,或者明确地使用QAbstractSeries::attachAxis()
为系列附加轴。 -
参数说明:
QAbstractSeries *series
:是要移除的系列对象的指针。
8. removeSeries函数–从图表中移除一个数据系列
void QChart::removeSeries(QAbstractSeries *series)
-
函数说明:
用于从图表中移除一个数据系列
series
。当系列从图表中移除时,图表会释放对该系列对象的所有权。 -
参数说明:
QAbstractSeries *series
是要移除的系列对象的指针。
9.removeAllSeries函数–从图表中移除所有数据系列
void QChart::removeAllSeries()
-
函数说明:
用于移除图表中的所有数据系列,并且删除这些系列对象。
与
removeSeries
不同的是,removeAllSeries
不仅从图表中移除系列,还会删除这些系列对象,释放它们占用的内存。
10.series函数–获取图表中所有已添加的数据系列的列表
QList<QAbstractSeries *> QChart::series() const
-
函数说明:
用于获取图表中所有已添加的数据系列的列表
11.animationDuration与setAnimationDuration函数–获取/设置动画持续时间
int animationDuration() const //获取动画持续时间
void setAnimationDuration(int msecs) //设置动画持续时间,单位为毫秒
12.animationEasingCurve与setAnimationEasingCurve函数–获取/设置动画的缓动曲线
QEasingCurve animationEasingCurve() const //获取当前动画的缓动曲线
void setAnimationEasingCurve(const QEasingCurve &curve) //为图表动画指定一个新的缓动曲线
13.animationOptions与setAnimationOptions函数–获取/设置动画选项
QChart::AnimationOptions animationOptions() const //获取当前动画选项
void setAnimationOptions(QChart::AnimationOptions options) //设置动画选项
14.backgroundBrush与setBackgroundBrush函数–获取/设置绘制图表背景的画刷
QBrush QChart::backgroundBrush() const //获取用于绘制图表区域背景的画刷
void QChart::setBackgroundBrush(const QBrush &brush) //设置图表背景的画刷
15.backgroundPen与setBackgroundPen函数–获取/设置绘制图表背景的画笔
QPen QChart::backgroundPen() const
void QChart::setBackgroundPen(const QPen &pen)
16.backgroundRoundness与setBackgroundRoundness函数–获取/设置背景圆角的直径
qreal backgroundRoundness() const //获取当前背景圆角的直径
void setBackgroundRoundness(qreal diameter)//设置背景圆角的直径
17.chartType函数–获取图表类型
QChart::ChartType chartType() const //获取图表类型
18.isBackgroundVisible与setBackgroundVisible函数–获取/设置图表背景的可见性
bool isBackgroundVisible() const //获取当前背景的可见性状态
void setBackgroundVisible(bool visible = true) //设置图表背景的可见性
19.isDropShadowEnabled与setDropShadowEnabled函数–获取/设置是否启用阴影效果
bool isDropShadowEnabled() const //获取是否启用了阴影效果
void setDropShadowEnabled(bool enabled = true) //设置是否启用阴影效果,默认参数为 true。
20.isPlotAreaBackgroundVisible与setPlotAreaBackgroundVisible函数–获取/设置绘图区域背景是否可见
bool isPlotAreaBackgroundVisible() const //检查绘图区域背景是否可见
void setPlotAreaBackgroundVisible(bool visible = true) //设置绘图区域背景可见性
21.locale与setLocale函数–获取/设置当前图表使用的区域设置
QLocale locale() const //获取当前使用的区域设置
void setLocale(const QLocale &locale) //设置图表使用的区域设置为 locale
22.localizeNumbers与setLocalizeNumbers函数–获取/设置数字是否本地化
bool localizeNumbers() const //获取数字是否本地化
void setLocalizeNumbers(bool localize)//设置数字是否本地化
23.margins与setMargins函数–获取/设置图表的边距
QMargins margins() const //获取当前设置的边距值
void setMargins(const QMargins &margins) //设置图表的边距
24.plotArea与setPlotArea函数–获取/设置图表的绘图区域
QRectF plotArea() const //获取当前的绘图区域
void setPlotArea(const QRectF &rect) //设置图表的绘图区域为传入的 QRectF 对象
25.plotAreaBackgroundBrush与setPlotAreaBackgroundBrush函数–获取/设置填充图表绘图区域背景的画刷
QBrush QChart::plotAreaBackgroundBrush() const //获取当前用于填充 QChart 对象绘图区域背景的 QBrush 对象
void QChart::setPlotAreaBackgroundBrush(const QBrush &brush) //设置当前用于填充 QChart 对象绘图区域背景的 QBrush 对象
26.plotAreaBackgroundPen与setPlotAreaBackgroundPen函数–获取/设置绘制图表绘图区域背景的画笔
QPen QChart::plotAreaBackgroundPen() const
void QChart::setPlotAreaBackgroundPen(const QPen &pen)
27.theme与setTheme函数–获取/设置图表的主题
QChart::ChartTheme theme() const //获取当前使用的主题
void setTheme(QChart::ChartTheme theme) //设置图表的主题
28.title与setTitle函数–获取/设置图表的标题
QString title() const //获取当前标题。
void setTitle(const QString &title) //设置标题。
29.titleFont与setTitleFont函数–获取/设置图表标题的字体样式
QFont QChart::titleFont() const
void QChart::setTitleFont(const QFont &font)
30.titleBrush与setTitleBrush函数–获取/设置绘制图表标题文本时使用的画刷
QBrush QChart::titleBrush() const
void QChart::setTitleBrush(const QBrush &brush)
31.legend函数–获取图例
QLegend *QChart::legend() const
-
函数说明:
用于获取与
QChart
对象关联的QLegend
对象的指针。QLegend
是图表中显示的图例,它为图表中的每个系列提供了一个视觉标识和说明。获取图例对象后,可调用 QLegend 中的函数,实现居中等效果
32.mapToPosition函数–将数据值映射到图表上的位置
QPointF QChart::mapToPosition(const QPointF &value, QAbstractSeries *series = nullptr)
-
函数说明:
用于将数据值映射到图表上的位置。此函数返回一个
QPointF
类型的位置,表示数据点在图表上的位置。 -
参数说明:
- 参数
value
是一个QPointF
类型,表示要映射的数据点的值,通常包含水平和垂直两个坐标的值。 - 参数
series
是一个指向QAbstractSeries
对象的指针,表示数据点所属的系列。如果为nullptr
,则该函数可能使用图表中的默认系列或第一个系列进行映射。
- 参数
33.mapToValue函数–将图表上的一个位置点逆向映射回其对应的数据值
QPointF QChart::mapToValue(const QPointF &position, QAbstractSeries *series = nullptr)
-
函数说明:
用于将图表上的一个位置点逆向映射回其对应的数据值。此函数返回一个
QPointF
类型的数据值,表示图表上该位置对应的数据点的值。 -
参数说明:
- 参数
position
是一个QPointF
类型,表示图表上的位置坐标。 - 参数
series
是一个指向QAbstractSeries
对象的指针,表示位置点所属的系列。如果为nullptr
,则该函数可能使用图表中的默认系列或第一个系列进行映射。
- 参数
34.scroll函数–滚动图表的可见区域
void QChart::scroll(qreal dx, qreal dy)
-
函数说明:
用于滚动图表的可见区域
-
参数说明:
- 参数
dx
表示沿 x 轴的滚动距离。对于笛卡尔坐标系(如折线图、柱状图等),它表示水平方向的滚动量;对于极坐标系(如极坐标图),它表示沿角度轴的角度变化。 - 参数
dy
表示沿 y 轴的滚动距离。对于笛卡尔坐标系,它表示垂直方向的滚动量;在极坐标系中,它表示沿径向轴的滚动量。
- 参数
35.isZoomed函数–检查图表中的任何系列是否处于缩放状态
bool QChart::isZoomed()
-
函数说明:
用于检查图表中的任何系列是否处于缩放状态。
- 返回
true
表示至少有一个系列的显示范围被缩放。 - 返回
false
表示所有系列都在显示其完整的数据范围,没有系列被缩放。
- 返回
36.zoom函数–对图表视图进行缩放
void QChart::zoom(qreal factor)
-
函数说明:
用于对图表视图进行缩放。
-
参数说明:
参数
factor
是一个qreal
类型的值,表示缩放的比例因子:- 如果
factor
大于 1.0,则视图会放大,即数据点之间的距离变得更近,用户可以看到更多的细节。 - 如果
factor
在 0.0 到 1.0 之间,则视图会缩小,即数据点之间的距离变得更远,视图显示的数据范围更广。
- 如果
37.zoomIn函数–将图表视图放大
void QChart::zoomIn()
void QChart::zoomIn(const QRectF &rect)
- 函数说明:
QChart::zoomIn()
函数用于将图表视图放大,放大的比例是固定的两倍。QChart::zoomIn(const QRectF &rect)
函数允许开发者指定一个矩形区域rect
,图表视图将放大到该矩形区域仍然完全可见的最大级别。
38.zoomOut函数–将图表视图缩小
void QChart::zoomOut()
-
函数说明:
用于将图表视图缩小,缩小的比例是固定的两倍。
注意的是,如果视图缩小后将导致某个对数坐标轴的显示范围无效,则该函数不会执行任何操作。对数坐标轴要求其显示范围的最小值大于零,如果缩小视图导致最小值小于或等于零,则会被视为无效。
39.zoomReset函数–重置系列的显示范围到最初状态
void QChart::zoomReset()
-
函数说明:
用于将图表的系列定义域(即数据的显示范围)重置为最初状态,即在任何缩放操作之前的状态。
注意:这也会重置在第一次缩放操作和调用此方法之间指定的滚动和显式的坐标轴范围设置。如果尚未执行任何缩放操作,则此方法无效。
五、Signals(信号)
1.plotAreaChanged信号
void plotAreaChanged(const QRectF &plotArea)
plotAreaChanged()
是一个信号,当图表绘图区域改变时发出,通知监听者绘图区域的大小或位置已经更新。