QPieSeries Class

QPieSeries 类以饼图显示数据。更多

Header: #include <QPieSeries>
In QML: PieSeries
Inherits: QAbstractSeries

属性

公共函数

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。

另请参阅 QPieSliceQChart

属性文档

[read-only] count : const 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 : const 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 指定的切片添加到系列时,将发出该信号。

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

bool QPieSeries::append(QPieSlice *slice)

slice 指定的片段添加到系列中。片段所有权将传递给系列。

如果追加成功,则返回true

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

slices 指定的切片数组添加到系列中。切片所有权将传递给系列。

如果追加成功,则返回true

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

将指定valuelabel 的单个片段添加到系列中。切片所有权将传递给系列。如果valueNaNInf-Inf ,则返回 null,并且不会向系列添加任何内容。

void QPieSeries::clear()

清除系列中的所有切片。

[signal] void QPieSeries::clicked(QPieSlice *slice)

slice 指定的切片被点击时会发出该信号。

另请参阅 QPieSlice::clicked().

int QPieSeries::count() const

返回此系列中切片的数量。

注: 属性计数的获取函数。

[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 指定的片段添加到系列中,并返回该系列的引用。切片所有权将传递给系列。

© 2025 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.