QPieSlice、QPieSeries

QPieSlice

一、描述

QPieSlice 类表示饼图中的单个切片。

切片有一个值和一个标签。当切片添加到饼图时,QPieSeries 对象计算切片与该饼图中所有切片之和的百分比,以确定图表中切片的实际大小。

默认情况下,切片的视觉外观由主题设置,但可以通过指定切片属性来覆盖主题。 但是,如果在自定义切片后更改主题,则所有自定义设置都将丢失。

为了使用户能够与饼图交互,当用户单击饼图或将鼠标悬停在饼图上时会发出一些基本信号。

二、类型成员

1、enum QPieSlice::LabelPosition:此枚举描述了切片标签的位置。

  • LabelOutside:位于通过臂连接到它的切片之外。 这是默认值。
  • LabelInsideHorizontal:在切片中居中并水平布局。
  • LabelInsideTangential:在切片中居中并旋转到与切片弧的切线平行。
  • LabelInsideNormal:在切片中居中并旋转到与切片弧的法线平行。

三、属性成员

1、【只读】angleSpan : const qreal | void angleSpanChanged()

以度为单位保存切片的跨度。一个完整的饼图是 360 度,其中 0 度是在 12 点钟方向。将切片添加到饼图后自动更新。

2、borderColor : QColor | void borderColorChanged()

保存用于绘制切片边框的颜色。

3、borderWidth : int | void borderWidthChanged()

切片边框的宽度。

4、brush : QBrush | void brushChanged()

填充切片的画刷。

5、color : QColor | void colorChanged()

切片的填充的画笔颜色。

6、explodeDistanceFactor : qreal

分解的切片离饼图的距离。默认为 0.15。

1.0 表示距离与半径相同。0.5 表示距离是半径的一半。

7、exploded : bool

切片是否与饼图分离。

8、label : QString | void labelChanged()

切片的标签。可以是 HTML 格式。

9、labelArmLengthFactor : qreal

标签臂的长度。默认为 0.15。

1.0 表示长度与半径相同。0.5 表示长度是半径的一半。

10、labelBrush : QBrush | void labelBrushChanged()

用于绘制切片标签和标签臂的画刷。

11、labelColor : QColor | void labelColorChanged()

用于绘制切片标签的颜色。

12、labelFont : QFont | void labelFontChanged()

用于绘制标签文本的字体。

13、labelPosition : LabelPosition

切片标签的位置。

14、labelVisible : bool | void labelVisibleChanged()

切片标签的可见性。默认是不可见的。

15、pen : QPen | void penChanged()

用于绘制切片边框的画笔。

16、【只读】percentage : const qreal | void percentageChanged()

当前切片相对于饼图中所有切片的总和的百分比。范围 0.0 到 1.0。将切片添加到饼图后自动更新。

17、【只读】startAngle : const qreal | void startAngleChanged()

该切片在其所属饼图中的起始角度。一个完整的饼图是 360 度,其中 0 度是在 12 点。将切片添加到饼图后自动更新。

18、value : qreal | void valueChanged()

切片的值。设置为负值会转为正值。

四、成员函数

1、【信号】void clicked()

单击切片时会发出此信号。

2、【信号】void doubleClicked()

双击切片时会发出此信号。

3、【信号】void hovered(bool state)

当鼠标悬停在切片上时会发出此信号。

当鼠标移到切片上时,state 变为 true,当鼠标再次移开时,state 变为 false。

4、【信号】void pressed()

当用户单击切片并按住鼠标按钮时,会发出此信号。

5、【信号】void released()

当用户在切片上释放鼠标按下时,会发出此信号。

6、QPieSeries * series()

返回此切片所属的饼图。


QPieSeries

一、描述

饼图由定义为 QPieSlice 对象的切片组成。切片可以具有任何值,因为 QPieSeries 对象计算切片与饼图中所有切片的总和的百分比,以确定图表中切片的实际大小。

二、属性成员

1、【只读】count : const int | void countChanged()

饼图中的切片数。

2、endAngle : qreal / startAngle : qreal

饼图的结束角度、起始角度。

3、holeSize : qreal

中间圆孔的大小。0.0 - 1.0。默认值为 0.0。

4、horizontalPosition : qreal / verticalPosition : qreal

饼图的水平位置、垂直位置。默认为 0.5(中心)。该值相对于图表矩形,

  • 0.0 是最左、最顶。
  • 1.0 是最右、最底。

5、size : qreal

饼图大小。默认为 0.7。该值相对于图表矩形,因此:

  • 0.0 是最小尺寸(饼图未绘制)。
  • 1.0 是可以适合图表的最大尺寸。

6、【只读】sum : const qreal | void sumChanged()

所有切片的总和。

三、成员函数

1、【信号】void added(const QList<QPieSlice *> &slices)

切片添加到饼图时,会发出此信号。

      bool append(QPieSlice *slice)

      bool append(const QList<QPieSlice *> &slices)

将切片附加到饼图中。切片所有权传递给饼图。返回是否追加成功。

      QPieSlice *append(const QString &label, qreal value)

将具有指定值和标签的单个切片附加到饼图。切片所有权传递给饼图。如果 value 为 NaN、Inf 或 -Inf,则返回 null,并且不向饼图中添加任何内容。

      【信号】void removed(const QList<QPieSlice *> &slices)

切片从饼图删除时,会发出此信号。

      bool remove(QPieSlice *slice)

从饼图中移除切片并将其永久删除。返回是否删除成功。

2、【信号】void clicked(QPieSlice *slice)

单击切片时会发出此信号。

3、【信号】void doubleClicked(QPieSlice *slice)

双击切片时会发出此信号。

4、【信号】void hovered(QPieSlice *slice, bool state)

当鼠标悬停在切片上时,会发出此信号。当鼠标移到切片上时,state 变为 true,当鼠标再次移开时,state 变为 false。

5、【信号】void pressed(QPieSlice *slice)

当单击指定的切片并按住鼠标按钮时,会发出此信号。

6、【信号】void released(QPieSlice *slice)

当在指定的切片上释放鼠标按下时,会发出此信号。

7、void clear()

清除饼图中的所有切片。

8、int count()

返回饼图中的切片数。

9、bool insert(int index, QPieSlice *slice)

将切片插入到 index 指定位置的切片之前的饼图中。切片所有权传递给饼图。返回是否插入成功。

10、bool isEmpty()

饼图是否为空。

11、void setLabelsPosition(QPieSlice::LabelPosition position)

设置所有切片标签的位置。

此功能仅影响饼图中的当前切片。如果添加新切片,则默认标签位置为 QPieSlice::LabelOutside

12、void setLabelsVisible(bool visible = true)

将所有切片标签的可见性设置为可见。

此功能仅影响饼图中的当前切片。如果添加了新切片,则默认标签可见性为 false。

13、QList<QPieSlice *> slices()

返回饼图的切片列表。

14、bool take(QPieSlice *slice)

从饼图中移除一个切片。不删除切片对象。饼图仍然是该切片的父对象。

15、QPieSeries & operator<<(QPieSlice *slice)

将切片附加到饼图并返回对该饼图的引用。切片所有权传递给饼图。

 

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值