QLegend
一、描述
图例。继承自 QGraphicsWidget。当曲线更改时,图例状态由 QChart 更新。 默认情况下,图例附加到图表,但可以将其分离以使其独立于图表布局。图例对象无法创建或删除,但可以通过 QChart 类引用。
上图标出来的部分就是图例。
二、类型成员
1、enum QLegend::MarkerShape:此枚举描述了渲染图例标记项时使用的形状。
- MarkerShapeDefault:仅 QLegendMarker 项目支持此值。
- MarkerShapeRectangle:矩形标记。
- MarkerShapeCircle:圆形标记。
- MarkerShapeRotatedRectangle:旋转的矩形标记。
- MarkerShapeTriangle:三角形标记。
- MarkerShapeStar:星形标记。
- MarkerShapePentagon:五角形标记。
- MarkerShapeFromSeries:标记形状由曲线决定。在散点曲线的情况下,图例标记看起来像一个散点,并且与该点的大小相同。对于直线或样条曲线,图例标记看起来像直线的一小段。对于其他曲线类型,显示矩形标记。
三、属性类型
1、alignment : Qt::Alignment
图例与图表对齐方式。
可以是 Qt::AlignTop、Qt::AlignBottom、Qt::AlignLeft、Qt::AlignRight。如果设置多个标志,则结果是 undefined。
2、backgroundVisible : bool
图例背景是否可见。
3、borderColor : QColor
图例的边框颜色。
4、color : QColor
图例的背景(画刷)颜色。
5、font : QFont
图例使用的标记的字体。
6、labelColor : QColor
绘制标签的画笔颜色。
7、markerShape : MarkerShape
图例标记的默认形状。默认为 MarkerShapeRectangle。
8、reverseMarkers : bool
图例中的标记是否使用相反的顺序。默认为 false。
9、showToolTips : bool
文本被截断时是否显示工具提示。默认为 false。
四、成员函数
1、【信号】void attachedToChartChanged(bool attached)
当图例附加到图表或从图表分离时,会发出此信号。
2、void attachToChart()
将图例附加到图表。图表可能会调整图例的布局。
3、void detachFromChart()
从图表中分离图例。
4、bool isAttachedToChart()
图例是否附加到图表。
5、QList<QLegendMarker *> markers(QAbstractSeries *series = nullptr)
返回图例中的标记列表。
6、void setInteractive(bool interactive) / bool isInteractive()
当 interactive 为 true 且图例处于被分离状态时,可以使用鼠标以类似于窗口的方式移动图例并调整其大小。
通过将图例拖离该边缘,图例将自动附加到图表的边缘。双击附加的图例将分离它。
默认为 false。
QLegendMarker
一、描述
QLegendMarker 类是一个抽象类,可用于访问图例中的标记。是 QAreaLegendMarker、QBarLegendMarker、QBoxPlotLegendMarker、QCCandlestickLegendMarker、QPieLegendMarker、QXYLegendMarker 的父类。
图例标记由图标和标签组成:
- 图标颜色对应于用于绘制图表的颜色。
- 标签显示曲线的名称(或饼图的切片标签或条形图的条形集的标签)。
图例标记始终与一个曲线、切片或条形集相关。
上图标出来的就是图例标签。
二、类型成员
1、enum QLegendMarker::LegendMarkerType:图例标记对象的类型。
- LegendMarkerTypeArea:区域图的图例标记。
- LegendMarkerTypeBar:条形图的图例标记。
- LegendMarkerTypePie:饼图的图例标记。
- LegendMarkerTypeXY:曲线、样条线或散点图的图例标记。
- LegendMarkerTypeBoxPlot:箱型图的图例标记。
- LegendMarkerTypeCandlestick:烛台图的图例标记。
三、属性成员
1、brush : QBrush
用于填充图标的画刷。
2、font : QFont
标签的字体。
3、label : QString
图例标记显示的文本。
4、labelBrush : QBrush
标签的画刷。
5、pen : QPen
用于绘制图标轮廓的画笔。
6、shape : QLegend::MarkerShape
图例标记的形状。
7、visible : bool
图例标记是否可见。
四、成员函数
1、【信号】void clicked()
单击图例标记时会发出此信号。
2、【信号】void hovered(bool status)
当鼠标悬停在图例标记上时会发出此信号。当鼠标移到标记上时,status 为 true,当鼠标再次移开时,status 为 false。
3、【纯虚函数】QAbstractSeries * series()
返回指向与此图例标记相关的曲线的指针。
4、【纯虚函数】QLegendMarker::LegendMarkerType type()
返回相关曲线、饼图或条形集的图例标记的类型。