计算机系统应用教程网站

网站首页 > 技术文章 正文

QAbstractAxis、QAbstractSeries、QAreaSeries

btikc 2024-10-27 08:39:17 技术文章 7 ℃ 0 评论

QAbstractAxis

一、描述

QAbstractAxis 类是轴类的基类。每个曲线可以绑定一个或多个水平和垂直轴。

二、类型成员

1、enum QAbstractAxis::AxisType:此枚举类型指定轴对象的类型。

  • AxisTypeNoAxis
  • AxisTypeValue
  • AxisTypeBarCategory
  • AxisTypeCategory
  • AxisTypeDateTime
  • AxisTypeLogValue
  • AxisTypeColor

三、属性成员

1、【只读】alignment : const Qt::Alignment

轴的对齐方式。可以是:

  • Qt::AlignLeft
  • Qt::AlignRight
  • Qt::AlignBottom
  • Qt::AlignTop

2、color : QColor | void colorChanged(QColor color)

轴和刻度线的颜色。

3、gridLineColor : QColor | void gridLineColorChanged(const QColor &color)

网格线的颜色。

4、gridLinePen : QPen | void gridLinePenChanged(const QPen &pen)

用于绘制网格线的笔。

5、gridVisible : bool | void gridVisibleChanged(bool visible)

网格线的可见性。

6、labelsAngle : int | void labelsAngleChanged(int angle)

以度为单位保存轴标签的角度。

7、labelsBrush : QBrush | void labelsBrushChanged(const QBrush &brush)

用于绘制标签的画刷。

8、labelsColor : QColor | void labelsColorChanged(QColor color)

轴标签的颜色。

9、labelsFont : QFont | void labelsFontChanged(const QFont &font)

轴标签的字体。

10、【只读】labelsTruncated : const bool | void labelsTruncatedChanged(bool labelsTruncated)

轴上是否有标签被截断。

11、labelsVisible : bool | void labelsVisibleChanged(bool visible)

轴标签是否可见。

12、linePen : QPen | void linePenChanged(const QPen &pen)

用于绘制轴线的笔。

13、lineVisible : bool | void lineVisibleChanged(bool visible)

轴线的可见性。

14、minorGridLineColor : QColor | void minorGridLineColorChanged(const QColor &color)

次要网格线的颜色。仅适用于支持次要网格线的轴。

15、minorGridLinePen : QPen | void minorGridLinePenChanged(const QPen &pen)

用于绘制次网格线的笔。仅适用于支持次要网格线的轴。

16、minorGridVisible : bool | void minorGridVisibleChanged(bool visible)

次要网格线的可见性。仅适用于支持次要网格线的轴。

17、【只读】orientation : const Qt::Orientation

轴的方向。

18、reverse : bool

是否使用反向轴。默认为 false。

折线、样条和散点图以及带笛卡尔图表的面积图支持反向轴。

19、shadesBorderColor : QColor | void shadesBorderColorChanged(QColor color)

轴阴影的边框(画笔)颜色。

20、shadesColor : QColor | void shadesColorChanged(QColor color)

轴阴影的填充(画刷)颜色。

21、shadesBrush : QBrush | void shadesBrushChanged(const QBrush &brush)

用于绘制轴阴影(网格线之间的区域)的画刷。

22、shadesPen : QPen | void shadesPenChanged(const QPen &pen)

用于绘制轴阴影(网格线之间的区域)的画笔。

23、shadesVisible : bool | void shadesVisibleChanged(bool visible)

轴阴影的可见性。

24、titleBrush : QBrush | void titleBrushChanged(const QBrush &brush)

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

25、titleFont : QFont | void titleFontChanged(const QFont &font)

轴标题的字体。

26、titleText : QString | void titleTextChanged(const QString &text)

轴的标题。轴标题支持 HTML 格式。

27、titleVisible : bool | void titleVisibleChanged(bool visible)

轴标题的可见性。默认为 true。

28、truncateLabels : bool | void truncateLabelsChanged(bool truncateLabels)

标签的截断状态。指示如果没有足够的空间容纳全文,是否应截断标签。默认为 true。

29、visible : bool | void visibleChanged(bool visible)

轴的可见性。

四、成员函数

1、【信号】void labelsEditableChanged(bool editable)

当标签的可编辑状态发生变化时,会发出此信号。

2、void hide() / void show()

使轴、阴影、标签和网格线隐藏 / 显示。

3、void setLabelsEditable(bool editable = true)

设置轴标签是否可编辑。

当标签可编辑时,用户将能够通过编辑标签便捷地更改轴的范围。仅 QValueAxis 和 QDateTimeAxis 支持此功能。

默认情况下,标签不可编辑。

4、void setMax(const QVariant &max)

设置轴上显示的最大值。根据实际轴类型,将 max 参数转换为适当类型的值。如果转换失败,则函数什么也不做。

void setMin(const QVariant &min)

设置轴上显示的最小值。根据实际轴类型,将 min 参数转换为适当类型的值。如果转换失败,则函数什么也不做。

void setRange(const QVariant &min, const QVariant &max)

设置轴上显示的范围。根据实际轴类型,将 min 和 max 参数转换为适当类型的值。如果转换失败,则函数什么也不做。

5、QAbstractAxis::AxisType type()

返回轴的类型。

免费学习C++ Qt开发教程视频,点击下面链接免费报名领取视频学习资料

C/C++椤圭洰瀹炴垬/Qt5/C璇█/c++/鏁版嵁搴?/OpenCV/MFC/QT椤圭洰-瀛︿範瑙嗛鏁欑▼-鑵捐璇惧爞


QAbstractSeries

一、描述

QAbstractSeries 类是所有 Qt 图表曲线的基类。通常,使用曲线类型特定的继承类而不是基类。

二、类型成员

1、enum QAbstractSeries::SeriesType:此枚举描述了曲线的类型。

  • SeriesTypeLine:折线图。
  • SeriesTypeArea:面积图。
  • SeriesTypeBar:垂直条形图。
  • SeriesTypeStackedBar:垂直堆积条形图。
  • SeriesTypePercentBar:垂直百分比条形图。
  • SeriesTypePie:饼图。
  • SeriesTypeScatter:散点图。
  • SeriesTypeSpline:样条图。
  • SeriesTypeHorizontalBar:水平条形图。
  • SeriesTypeHorizontalStackedBar:水平堆积条形图。
  • SeriesTypeHorizontalPercentBar:水平百分比条形图。
  • SeriesTypeBoxPlot:箱线图。
  • SeriesTypeCandlestick:烛台图。

三、属性成员

1、name : QString | void nameChanged()

曲线的名称。该名称显示在该曲线的图例中,并且支持 HTML 格式。

2、opacity : qreal | void opacityChanged()

曲线的不透明度。默认为 1.0。有效值范围从 0.0(透明)到 1.0(不透明)。

3、【只读】type : const SeriesType

曲线类型。

4、useOpenGL : bool | void useOpenGLChanged()

是否使用 OpenGL 加速绘制曲线。默认值为 false。

仅 QLineSeries 和 QScatterSeries 支持使用 OpenGL 进行加速。

用作 QAreaSeries 的边缘曲线的曲线不能使用 OpenGL 加速。

当图表包含使用 OpenGL 绘制的任何曲线时,会在图表绘图区域的顶部创建一个透明的 QOpenGLWidget。加速曲线不是在底层的 QGraphicsView 上绘制,而是在创建的 QOpenGLWidget 上绘制。

使用 OpenGL 加速曲线绘图所获得的性能取决于底层硬件,但在大多数情况下,性能是显着的。例如,在标准台式计算机上,为曲线启用 OpenGL 加速通常允许渲染至少一百倍以上的点,而不会降低帧速率。图表大小对帧速率的影响也较小。

曲线绘图的 OpenGL 加速适用于需要快速绘制大量点的用例。它针对效率进行了优化,因此使用它的曲线缺乏对非加速曲线可用的许多功能的支持:

加速曲线不支持曲线动画。

加速曲线不支持点标签。

对于加速曲线,笔样式、标记形状和浅色标记将被忽略。仅支持实线和普通散点。散点可能是圆形或矩形,具体取决于底层图形硬件和驱动程序。

极坐标图不支持加速曲线。

使用加速曲线时不建议启用图表阴影或使用透明图表背景颜色,因为这会显着降低帧速率。

这些额外的限制源于在图表顶部的单独小部件上绘制加速曲线时:

如果在包含加速曲线的图表顶部绘制任何图形项,则会在这些项上绘制加速曲线。

要使 QOpenGLWidget 部分透明,它需要堆叠在所有其他小部件之上。这意味着在使用加速曲线时,不能让其他小部件部分覆盖图表。

对于图形场景附加了多个图形视图的用例,不支持加速曲线。

图表具有非默认几何图形的用例不支持加速曲线。例如,将变换添加到图形视图会导致在与图表相关的错误位置绘制加速曲线。

5、visible : bool | void visibleChanged()

曲线是否可见。默认为 true。

四、成员函数

1、bool attachAxis(QAbstractAxis*axis)

将由axis指定的轴附加到曲线。返回附加是否成功。

如果相同方向的多个轴连接到同一个曲线,它们将具有相同的最小值和最大值。

2、QList<QAbstractAxis *> attachedAxes()

返回附加到曲线的轴列表。

3、QChart *chart()

返回该曲线所属的图表。当曲线添加到图表时自动设置,当曲线从图表中删除时取消设置。

4、bool detachAxis(QAbstractAxis *axis)

从曲线中分离由 axis 指定的轴。返回是否分离成功。

QAreaSeries

一、描述

QAreaSeries 类以面积图的形式呈现数据。

面积图用于显示定量数据。它基于线条曲线,以颜色强调边界线之间的区域的方式。

由于面积图是基于线条曲线的,所以 QAreaSeries 构造函数需要一个 QLineSeries 实例,该实例定义了区域的上边界。默认情况下,使用绘图区域的底部作为下边界绘制面积图。下边界也可以由另一条曲线指定,在这种情况下,应该使用两个 QLineSeries 实例来初始化 QAreaSeries。

二、属性成员

1、borderColor : QColor

图的边框颜色(画笔)。

2、color : QColor

图的填充颜色(画刷)。

3、【只读】lowerSeries : QLineSeries* const

定义面积图边界的两个曲线中较低的一个。

如果是在没有 lowerSeries 的情况下构造的,则为 nullptr。

【只读】upperSeries : QLineSeries* const

定义面积图边界的两个曲线中的较高的一个。

4、pointLabelsClipping : bool

是否启用数据点标签的裁剪。默认为 true。启用裁剪时,绘图区域边缘的标签会被裁剪。

5、pointLabelsColor : QColor

数据点标签的颜色。默认为主题中的标签定义的画笔颜色。

6、pointLabelsFont : QFont

数据点标签的字体。

7、pointLabelsFormat : QString

显示带有曲线点的标签的格式。支持以下格式标签:

  • @xPoint:数据点的 x 值
  • @yPoint:数据点的 y 值

例如,格式标签的以下用法将生成标签,其中数据点 (x, y) 显示在括号内,用逗号分隔:

series->setPointLabelsFormat("(@xPoint, @yPoint)");

默认标签格式设置为:"@xPoint, @yPoint"。标签显示在绘图区域上,而绘图区域边缘的标签被剪切。 如果这些点彼此靠近,则标签可能会重叠。

8、pointLabelsVisible : bool

数据点标签是否可见。默认为 false。

三、成员函数

1、【信号】void clicked(const QPointF &point)

当在面积图中单击按下点 point 时,会发出此信号。

2、【信号】void doubleClicked(const QPointF &point)

当在面积图中双击点 point 时,会发出此信号。

3、【信号】void hovered(const QPointF &point, bool state)

当将鼠标光标悬停在图上或将其从图上移开时,会发出此信号。point 显示悬停事件的原点。 当光标悬停在图上时 state 为 true,当它离开图上时变为 false。

4、【信号】void pressed(const QPointF &point)

当按下面积图中的点 point 时发出此信号。

5、【信号】void released(const QPointF &point)

当释放在面积图中的点 point 上触发的按下时,会发出此信号。

免费学习C++ Qt开发教程视频,点击下面链接免费报名领取视频学习资料

C/C++椤圭洰瀹炴垬/Qt5/C璇█/c++/鏁版嵁搴?/OpenCV/MFC/QT椤圭洰-瀛︿範瑙嗛鏁欑▼-鑵捐璇惧爞



原文链接:https://blog.csdn.net/kenfan1647/article/details/123632417

原文链接:https://blog.csdn.net/kenfan1647/article/details/123995045

原文链接:https://blog.csdn.net/kenfan1647/article/details/124310758

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表