QPieSeries Class
QPieSeries 类用于以饼图形式展示数据。更多内容...
| Header: | #include <QPieSeries> |
| In QML: | PieSeries |
| Inherits: | QAbstractSeries |
| Status: | Deprecated |
该类已弃用。我们强烈建议不要在新的代码中使用它。
属性
|
|
公共函数
| QPieSeries(QObject *parent = nullptr) | |
| virtual | ~QPieSeries() |
| bool | append(QPieSlice *slice) |
| bool | append(const QList<QPieSlice *> &slices) |
| QPieSlice * | append(const QString &label, qreal value) |
| void | clear() |
| int | count() const |
| qreal | holeSize() const |
| qreal | horizontalPosition() const |
| bool | insert(int index, QPieSlice *slice) |
| bool | isEmpty() const |
| qreal | pieEndAngle() const |
| qreal | pieSize() const |
| qreal | pieStartAngle() const |
| bool | remove(QPieSlice *slice) |
| void | setHoleSize(qreal holeSize) |
| void | setHorizontalPosition(qreal relativePosition) |
| void | setLabelsPosition(QPieSlice::LabelPosition position) |
| void | setLabelsVisible(bool visible = true) |
| void | setPieEndAngle(qreal angle) |
| void | setPieSize(qreal relativeSize) |
| void | setPieStartAngle(qreal startAngle) |
| void | setVerticalPosition(qreal relativePosition) |
| QList<QPieSlice *> | slices() const |
| qreal | sum() const |
| bool | take(QPieSlice *slice) |
| qreal | verticalPosition() const |
| QPieSeries & | operator<<(QPieSlice *slice) |
重新实现的公共函数
| virtual QAbstractSeries::SeriesType | type() const override |
信号
| void | added(const QList<QPieSlice *> &slices) |
| void | clicked(QPieSlice *slice) |
| void | countChanged() |
| void | doubleClicked(QPieSlice *slice) |
| void | hovered(QPieSlice *slice, bool state) |
| void | pressed(QPieSlice *slice) |
| void | released(QPieSlice *slice) |
| void | removed(const QList<QPieSlice *> &slices) |
| void | sumChanged() |
详细说明
一个饼图系列由定义为 `QPieSlice ` 对象的扇区组成。这些扇区可以包含任意数值,因为 `QPieSeries` 对象会计算每个扇区相对于该系列中所有扇区总和的百分比,从而确定该扇区在图表中的实际大小。
饼图在图表上的大小和位置通过 0.0 到 1.0 之间的相对值进行控制。这些值与实际的图表矩形相关。
默认情况下,饼图被定义为完整的饼图。可以通过为系列设置起始角度和角度范围来创建部分饼图。完整的饼图为 360 度,其中 0 度位于 12 点钟方向。
请参阅“带小部件的图表”图库,了解如何使用 QPieSeries。


属性文档
[read-only] count : int
该属性存储序列中的切片数量。
访问函数:
| int | count() const |
通知信号:
| void | countChanged() |
endAngle : qreal
该属性存储扇形的终角。
一个完整的圆饼为360度,其中0度位于12点钟方向。
默认值为 360。
访问函数:
| qreal | pieEndAngle() const |
| void | setPieEndAngle(qreal angle) |
holeSize : qreal
该属性存储甜甜圈孔的大小。
该值是相对于图表矩形而言的,因此:
- 0.0 表示最小尺寸(绘制完整的无孔饼图)。
- 1.0 是图表所能容纳的最大尺寸(环形图无宽度)。
设置此属性时,系统会根据需要调整 `size ` 属性,以确保孔洞大小不超过饼图的大小。
默认值为 0.0。
访问函数:
| qreal | holeSize() const |
| void | setHoleSize(qreal holeSize) |
horizontalPosition : qreal
该属性控制饼图的水平位置。
该值相对于图表矩形,因此:
- 0.0 表示绝对左侧。
- 1.0 表示绝对右侧。
默认值为 0.5(居中)。
访问函数:
| qreal | horizontalPosition() const |
| void | setHorizontalPosition(qreal relativePosition) |
另请参阅 verticalPosition 。
size : qreal
该属性用于存储饼图的大小。
该值相对于图表矩形,因此:
- 0.0 表示最小尺寸(不绘制饼图)。
- 1.0 是图表中可容纳的最大尺寸。
设置此属性时,系统会根据需要调整 `holeSize ` 属性,以确保空洞大小不超过饼图大小。
默认值为 0.7。
访问函数:
| qreal | pieSize() const |
| void | setPieSize(qreal relativeSize) |
startAngle : qreal
该属性存储了扇形的起始角度。
一个完整的圆饼为360度,其中0度位于12点钟方向。
默认值为 0。
访问函数:
| qreal | pieStartAngle() const |
| void | setPieStartAngle(qreal startAngle) |
[read-only] sum : qreal
该属性存储所有切片的总和。
该序列会记录其所包含的所有切片的总和。
访问函数:
| qreal | sum() const |
通知信号:
| void | sumChanged() |
verticalPosition : qreal
该属性用于设置饼图的垂直位置。
该值相对于图表矩形,因此:
- 0.0 表示绝对顶部。
- 1.0 表示绝对底部。
默认值为 0.5(居中)。
访问函数:
| qreal | verticalPosition() const |
| void | setVerticalPosition(qreal relativePosition) |
另请参阅 horizontalPosition 。
成员函数文档
[explicit] QPieSeries::QPieSeries(QObject *parent = nullptr)
创建一个作为parent 子节点的系列对象。
[virtual noexcept] QPieSeries::~QPieSeries()
删除饼图系列及其各扇区。
[signal] void QPieSeries::added(const QList<QPieSlice *> &slices)
当将slices 指定的切片添加到序列中时,会发出此信号。
bool QPieSeries::append(QPieSlice *slice)
将由 `slice ` 指定的切片追加到序列中。切片的所有权将转移给该序列。
如果追加成功,则返回 `true `。
bool QPieSeries::append(const QList<QPieSlice *> &slices)
将由 `slices ` 指定的切片数组追加到序列中。切片的所有权将转移给该序列。
如果追加成功,则返回 `true `。
QPieSlice *QPieSeries::append(const QString &label, qreal value)
将一个具有指定value 和label 的切片追加到序列中。切片的所有权将传递给序列。如果value 的值为NaN 、Inf 或-Inf ,则返回null,且不会向序列中添加任何内容。
void QPieSeries::clear()
清除该序列中的所有切片。
[signal] void QPieSeries::clicked(QPieSlice *slice)
当点击由slice 指定的切片时,会触发此信号。
另请参阅 QPieSlice::clicked()。
int QPieSeries::count() const
返回该序列中切片的数量。
注意: 这是 count 属性的获取器 函数。
[signal] void QPieSeries::countChanged()
当切片计数发生变化时,会发出此信号。
注意: 这是属性count的通知器 信号。
另请参阅 count 。
[signal] void QPieSeries::doubleClicked(QPieSlice *slice)
当双击由slice 指定的切片时,会发出此信号。
另请参阅 QPieSlice::doubleClicked()。
[signal] void QPieSeries::hovered(QPieSlice *slice, bool state)
当鼠标悬停在由slice 指定的切片上时,会发出此信号。当鼠标移到该切片上时,state 会变为true ;当鼠标再次移开时,它会变为false 。
另请参阅 QPieSlice::hovered()。
bool QPieSeries::insert(int index, QPieSlice *slice)
将由 `slice ` 指定的切片插入到序列中,位置在由 `index` 指定的切片之前。切片的所有权将传递给该序列。
如果插入成功,则返回true 。
bool QPieSeries::isEmpty() const
如果序列为空,则返回true 。
qreal QPieSeries::pieEndAngle() const
返回扇形的结束角度。
一个完整的扇形为 360 度,其中 0 度位于 12 点钟方向。
注意: 这是属性 `endAngle`的获取 函数。
另请参阅 setPieEndAngle()、pieStartAngle() 和setPieStartAngle()。
[signal] void QPieSeries::pressed(QPieSlice *slice)
当用户点击由slice 指定的切片并按住鼠标按钮时,会触发此信号。
另请参阅 QPieSlice::pressed()。
[signal] void QPieSeries::released(QPieSlice *slice)
当用户松开slice 指定的切片上的鼠标按钮时,会发出此信号。
另请参阅 QPieSlice::released()。
bool QPieSeries::remove(QPieSlice *slice)
从序列中移除由 `slice` 指定的单个切片,并将其永久删除。
调用此方法后,该指针将无法被引用。
若移除成功,则返回true 。
[signal] void QPieSeries::removed(const QList<QPieSlice *> &slices)
当由slices 指定的切片从序列中移除时,会发出此信号。
另请参阅 remove()。
void QPieSeries::setLabelsPosition(QPieSlice::LabelPosition position)
将所有切片标签的位置设置为position 。
注意:此 函数仅影响该系列中的当前切片。如果添加了新的切片,其默认标签位置为QPieSlice::LabelOutside 。
另请参阅 QPieSlice::labelPosition() 和QPieSlice::setLabelPosition()。
void QPieSeries::setLabelsVisible(bool visible = true)
将所有切片标签的可见性设置为“visible ”。
注意:此 函数仅影响该系列中的当前切片。如果添加了新切片,其默认标签可见性为false 。
另请参阅 QPieSlice::isLabelVisible() 和QPieSlice::setLabelVisible()。
void QPieSeries::setPieEndAngle(qreal angle)
设置扇形的结束角度。
一个完整的扇形为360度,其中0度位于12点钟方向。
angle 该值必须大于起始角度。
注意: 这是属性endAngle 的设置 函数。
另请参阅 pieEndAngle()、pieStartAngle() 和setPieStartAngle()。
QList<QPieSlice *> QPieSeries::slices() const
返回属于该序列的切片列表。
qreal QPieSeries::sum() const
返回该序列中所有切片值的总和。
注意: 这是 sum 属性的获取器 函数。
另请参阅 QPieSlice::value()、QPieSlice::setValue(),以及QPieSlice::percentage()。
[signal] void QPieSeries::sumChanged()
当所有切片的总和发生变化时,会发出此信号。
注意: 这是属性sum的通知器 信号。
另请参阅 sum 。
bool QPieSeries::take(QPieSlice *slice)
从序列中获取一个由slice 指定的切片。不会删除该切片对象。
注意:序列 仍为该切片的父对象。若要完全拥有该切片,必须将其父对象设置为序列 。
如果提取操作成功,则返回true 。
[override virtual] QAbstractSeries::SeriesType QPieSeries::type() const
重新实现了属性QAbstractSeries::type 的访问函数。
返回序列的类型。
QPieSeries &QPieSeries::operator<<(QPieSlice *slice)
将由 `slice ` 指定的切片追加到序列中,并返回该序列的引用。切片的所有权将转移给该序列。
© 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.