本页内容

QPieSlice Class

QPieSlice 类表示饼图系列中的单个扇区。更多内容...

Header: #include <QPieSlice>
In QML: PieSlice
Inherits: QObject
Status: Deprecated

该类已弃用。我们强烈建议在新代码中不要使用它。

公共类型

enum LabelPosition { LabelOutside, LabelInsideHorizontal, LabelInsideTangential, LabelInsideNormal }

属性

公共函数

QPieSlice(QObject *parent = nullptr)
QPieSlice(QString label, qreal value, QObject *parent = nullptr)
virtual ~QPieSlice()
qreal angleSpan() const
QColor borderColor()
int borderWidth()
QBrush brush() const
QColor color()
qreal explodeDistanceFactor() const
bool isExploded() const
bool isLabelVisible() const
QString label() const
qreal labelArmLengthFactor() const
QBrush labelBrush() const
QColor labelColor()
QFont labelFont() const
QPieSlice::LabelPosition labelPosition()
QPen pen() const
qreal percentage() const
QPieSeries *series() const
void setBorderColor(QColor color)
void setBorderWidth(int width)
void setBrush(const QBrush &brush)
void setColor(QColor color)
void setExplodeDistanceFactor(qreal factor)
void setExploded(bool exploded = true)
void setLabel(QString label)
void setLabelArmLengthFactor(qreal factor)
void setLabelBrush(const QBrush &brush)
void setLabelColor(QColor color)
void setLabelFont(const QFont &font)
void setLabelPosition(QPieSlice::LabelPosition position)
void setLabelVisible(bool visible = true)
void setPen(const QPen &pen)
void setValue(qreal value)
qreal startAngle() const
qreal value() const

信号

详细说明

每个扇形都有一个数值和一个标签。当该扇形被添加到饼图系列中时,QPieSeries 对象会计算该扇形相对于该系列中所有扇形总和的百分比,从而确定该扇形在图表中的实际大小。

默认情况下,标签处于隐藏状态。如果显示标签,则可以将其置于扇区外部并通过一条连接线与扇区相连,或者将其水平居中放置于扇区内部,或与扇区弧线的切线或法线平行。

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

为了支持用户与饼图的交互,当用户点击饼图扇区或将鼠标悬停在其上时,会触发一些基本信号。

另请参阅 QPieSeries 。

成员类型文档

enum QPieSlice::LabelPosition

此枚举描述了切片标签的位置。

常量值描述
QPieSlice::LabelOutside0标签位于通过一条连接臂与其相连的切片之外。这是默认值。
QPieSlice::LabelInsideHorizontal1标签位于切片中心,并水平排列。
QPieSlice::LabelInsideTangential2标签位于切片中心,并旋转至与切片弧线的切线平行。
QPieSlice::LabelInsideNormal3标签位于切片中心,并旋转至与切片弧的法线平行。

属性文档

[read-only] angleSpan : qreal

该属性存储切片的范围(以度为单位)。一个完整的圆为360度,其中0度位于12点钟方向。切片添加到系列后,该属性会自动更新。

访问函数:

qreal angleSpan() const

通知信号:

borderColor : QColor

该属性用于存储绘制切片边框所用的颜色。这是一个用于修改切片笔触的便捷属性。

访问函数:

QColor borderColor()
void setBorderColor(QColor color)

通知信号:

另请参阅 pen 和borderWidth 。

borderWidth : int

该属性用于设置切片边框的宽度。这是一个用于修改切片笔触的便捷属性。

访问函数:

int borderWidth()
void setBorderWidth(int width)

通知信号:

另请参阅 pen 和borderColor 。

brush : QBrush

该属性保存用于填充切片的画笔。

访问函数:

QBrush brush() const
void setBrush(const QBrush &brush)

通知器信号:

void brushChanged()

color : QColor

该属性存储切片的填充(画笔)颜色。这是一个用于修改切片画笔的便捷属性。

访问函数:

QColor color()
void setColor(QColor color)

通知信号:

void colorChanged()

另请参阅 brush 。

explodeDistanceFactor : qreal

确定切片从圆饼处向外扩展的距离。

  • 1.0 表示该距离等于半径。
  • 0.5 表示该距离为半径的一半。

默认距离为 0.15

访问函数:

qreal explodeDistanceFactor() const
void setExplodeDistanceFactor(qreal factor)

另请参阅 exploded 。

exploded : bool

该属性表示切片是否已从整个饼中分离出来。

访问函数:

bool isExploded() const
void setExploded(bool exploded = true)

另请参阅 explodeDistanceFactor 。

label : QString

该属性存储切片的标签。

注意:该 字符串可以使用 HTML 格式。

访问函数:

QString label() const
void setLabel(QString label)

通知器信号:

void labelChanged()

另请参阅 labelVisible 、labelBrush 、labelFont 以及labelArmLengthFactor 。

labelArmLengthFactor : qreal

该属性存储标签臂的长度。该数值是相对于饼图半径的倍数。例如:

  • 1.0 表示该长度与半径相等。
  • 0.5 表示该长度为半径的一半。

默认情况下,扇区长度为 0.15

访问函数:

qreal labelArmLengthFactor() const
void setLabelArmLengthFactor(qreal factor)

另请参阅 label 、labelVisible 、labelBrush 以及labelFont 。

labelBrush : QBrush

该属性存储用于绘制切片标签和标签臂的画笔。

访问函数:

QBrush labelBrush() const
void setLabelBrush(const QBrush &brush)

通知信号:

另请参阅 label 、labelVisible 、labelFont 以及labelArmLengthFactor 。

labelColor : QColor

该属性存储用于绘制切片标签的颜色。这是一个用于修改切片标签画笔的便捷属性。

访问函数:

QColor labelColor()
void setLabelColor(QColor color)

通知器信号:

另请参阅 labelBrush 。

labelFont : QFont

该属性存储用于绘制标签文本的字体。

访问函数:

QFont labelFont() const
void setLabelFont(const QFont &font)

通知信号:

另请参阅 label 、labelVisible 以及labelArmLengthFactor 。

labelPosition : LabelPosition

该属性用于指定切片标签的位置。

访问函数:

QPieSlice::LabelPosition labelPosition()
void setLabelPosition(QPieSlice::LabelPosition position)

另请参阅 label 和labelVisible 。

labelVisible : bool

该属性控制切片标签的可见性。默认情况下,该标签不可见。

访问函数:

bool isLabelVisible() const
void setLabelVisible(bool visible = true)

通知信号:

另请参阅 label 、labelBrush 、labelFont 以及labelArmLengthFactor 。

pen : QPen

该属性存储用于绘制切片边界的画笔。

访问函数:

QPen pen() const
void setPen(const QPen &pen)

通知信号:

void penChanged()

[read-only] percentage : qreal

该属性表示该扇区占该系列中所有扇区总和的百分比。实际值范围为 0.0 到 1.0。当该扇区添加到系列后,该值会自动更新。

访问函数:

qreal percentage() const

通知信号:

另请参阅 value 和QPieSeries::sum 。

[read-only] startAngle : qreal

该属性存储了该扇区在其所属系列中的起始角度。一个完整的圆为360度,其中0度位于12点钟方向。当扇区被添加到系列后,该属性会自动更新。

访问函数:

qreal startAngle() const

通知信号:

value : qreal

该属性存储切片值。

注意: 负值将转换为正值。

访问函数:

qreal value() const
void setValue(qreal value)

通知信号:

void valueChanged()

另请参阅 percentage() 和QPieSeries::sum()。

成员函数文档

[explicit] QPieSlice::QPieSlice(QObject *parent = nullptr)

使用父对象parent 构建一个空切片。

另请参阅 QPieSeries::append() 和QPieSeries::insert()。

QPieSlice::QPieSlice(QString label, qreal value, QObject *parent = nullptr)

根据指定的value 、label 和parent 构建一个空切片。

另请参阅 QPieSeries::append() 和QPieSeries::insert()。

[virtual noexcept] QPieSlice::~QPieSlice()

删除该切片。如果该切片已被添加到系列中,则不应将其删除。

[signal] void QPieSlice::angleSpanChanged()

当切片的角度范围发生变化时,会发出此信号。

注意: 这是属性angleSpan的通知 信号。

另请参阅 angleSpan 。

[signal] void QPieSlice::borderColorChanged()

当切片边框颜色发生变化时,会发出此信号。

注意: 这是属性borderColor 的通知器 信号。

另请参阅 pen 和borderColor 。

[signal] void QPieSlice::borderWidthChanged()

当切片边框宽度发生变化时,会发出此信号。

注意: 这是属性borderWidth的通知器 信号。

另请参阅 pen 和borderWidth 。

[signal] void QPieSlice::brushChanged()

当用于填充切片的画笔发生变化时,会发出此信号。

注意: 这是属性brush的通知器 信号。

另请参阅 brush 。

[signal] void QPieSlice::clicked()

当点击切片时,会触发此信号。

另请参阅 QPieSeries::clicked()。

[signal] void QPieSlice::colorChanged()

当切片颜色发生变化时,会发出此信号。

注意: 这是属性color的通知器 信号。

另请参阅 brush 。

[signal] void QPieSlice::doubleClicked()

当用户双击切片时,会触发此信号。

另请参阅 QPieSeries::doubleClicked()。

[signal] void QPieSlice::hovered(bool state)

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

另请参阅 QPieSeries::hovered()。

[signal] void QPieSlice::labelBrushChanged()

当切片的标签画笔发生变化时,会触发此信号。

注意: 这是属性labelBrush的通知器 信号。

另请参阅 labelBrush 。

[signal] void QPieSlice::labelChanged()

当切片标签发生变化时,会发出此信号。

注意: 这是属性label的通知器 信号。

另请参阅 label 。

[signal] void QPieSlice::labelColorChanged()

当切片标签颜色发生变化时,会触发此信号。

注意: 这是属性labelColor的通知器 信号。

另请参阅 labelColor 。

[signal] void QPieSlice::labelFontChanged()

当切片标签的字体发生变化时,会发出此信号。

注意: 这是属性labelFont 的Notifier 信号。

另请参阅 labelFont 。

[signal] void QPieSlice::labelVisibleChanged()

当切片标签的可见性发生变化时,会发出此信号。

注意: 这是属性labelVisible的通知器 信号。

另请参阅 labelVisible 。

[signal] void QPieSlice::penChanged()

当用于绘制切片边界的画笔发生变化时,会触发此信号。

注意: 这是属性pen的通知器 信号。

另请参阅 pen 。

[signal] void QPieSlice::percentageChanged()

当切片百分比发生变化时,会触发此信号。

注意: 这是属性percentage的通知器 信号。

另请参阅 percentage 。

[signal] void QPieSlice::pressed()

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

另请参阅 QPieSeries::pressed()。

[signal] void QPieSlice::released()

当用户松开鼠标按钮时,会发出此信号。

另请参阅 QPieSeries::released()。

QPieSeries *QPieSlice::series() const

返回该切片所属的序列。

另请参阅 QPieSeries::append()。

[signal] void QPieSlice::startAngleChanged()

当切片的起始角度发生变化时,会发出此信号。

注意: 这是属性startAngle的通知 信号。

另请参阅 startAngle 。

[signal] void QPieSlice::valueChanged()

当切片值发生变化时,会发出此信号。

注意: 这是属性value的通知器 信号。

另请参阅 value 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.