QPieSeries Class

The QPieSeries class presents data in pie graphs. More...

Header: #include <QPieSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
Instantiated By: PieSeries
Inherits: QAbstractSeries

Properties

Public Functions

QPieSeries(QObject *parent = nullptr)
virtual ~QPieSeries() override
bool append(QPieSlice *slice)
bool append(const QList<QPieSlice *> &slices)
QPieSlice *append(const QString &label, qreal value)
void clear()
int count() const
qreal endAngle() const
qreal holeSize() const
qreal horizontalPosition() const
bool insert(int index, QPieSlice *slice)
bool isEmpty() const
bool remove(QPieSlice *slice)
void setEndAngle(qreal angle)
void setHoleSize(qreal holeSize)
void setHorizontalPosition(qreal relativePosition)
void setLabelsPosition(QPieSlice::LabelPosition position)
void setLabelsVisible(bool visible)
void setSize(qreal relativeSize)
void setStartAngle(qreal angle)
void setVerticalPosition(qreal relativePosition)
qreal size() const
QList<QPieSlice *> slices() const
qreal startAngle() const
qreal sum() const
bool take(QPieSlice *slice)
qreal verticalPosition() const
QPieSeries &operator<<(QPieSlice *slice)

Reimplemented Public Functions

virtual QAbstractSeries::SeriesType type() const override

Signals

void added(const QList<QPieSlice *> &slices)
void countChanged()
void endAngleChanged()
void holeSizeChanged()
void horizontalPositionChanged()
void removed(const QList<QPieSlice *> &slices)
void sizeChanged()
void startAngleChanged()
void sumChanged()
void verticalPositionChanged()

Detailed Description

A pie series consists of slices that are defined as QPieSlice objects. The slices can have any values as the QPieSeries object calculates the percentage of a slice compared with the sum of all slices in the series to determine the actual size of the slice in the graph.

Pie size and position on the graph are controlled by using relative values that range from 0.0 to 1.0. These relate to the actual graph rectangle.

By default, the pie is defined as a full pie. A partial pie can be created by setting a starting angle and angle span for the series. A full pie is 360 degrees, where 0 is at 12 a'clock.

See also QPieSlice.

Property Documentation

[read-only] count : const int

This property holds the number of slices in the series.

Access functions:

int count() const

Notifier signal:

void countChanged()

endAngle : qreal

This property holds the ending angle of the pie.

A full pie is 360 degrees, where 0 degrees is at 12 o'clock.

The default value is 360.

Access functions:

qreal endAngle() const
void setEndAngle(qreal angle)

Notifier signal:

void endAngleChanged()

horizontalPosition : qreal

This property holds the horizontal position of the pie.

The value is relative to the graph rectangle, so that:

  • 0.0 is the absolute left.
  • 1.0 is the absolute right.

The default value is 0.5 (center).

Access functions:

qreal horizontalPosition() const
void setHorizontalPosition(qreal relativePosition)

Notifier signal:

void horizontalPositionChanged()

See also verticalPosition.

size : qreal

This property holds the pie size.

The value is relative to the graph rectangle, so that:

  • 0.0 is the minimum size (pie not drawn).
  • 1.0 is the maximum size that can fit the graph.

When setting this property, the holeSize property is adjusted if necessary, to ensure that the hole size is not greater than the pie size.

The default value is 0.7.

Access functions:

qreal size() const
void setSize(qreal relativeSize)

Notifier signal:

void sizeChanged()

startAngle : qreal

This property holds the starting angle of the pie.

A full pie is 360 degrees, where 0 degrees is at 12 o'clock.

The default value is 0.

Access functions:

qreal startAngle() const
void setStartAngle(qreal angle)

Notifier signal:

void startAngleChanged()

[read-only] sum : const qreal

This property holds the sum of all slices.

The series keeps track of the sum of all the slices it holds.

Access functions:

qreal sum() const

Notifier signal:

void sumChanged()

verticalPosition : qreal

This property holds the vertical position of the pie.

The value is relative to the graph rectangle, so that:

  • 0.0 is the absolute top.
  • 1.0 is the absolute bottom.

The default value is 0.5 (center).

Access functions:

qreal verticalPosition() const
void setVerticalPosition(qreal relativePosition)

Notifier signal:

void verticalPositionChanged()

See also horizontalPosition.

Member Function Documentation

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

Constructs a series object that is a child of parent.

[override virtual noexcept] QPieSeries::~QPieSeries()

Removes the pie series and its slices.

[signal] void QPieSeries::added(const QList<QPieSlice *> &slices)

This signal is emitted when the slices specified by slices are added to the series.

See also append().

bool QPieSeries::append(QPieSlice *slice)

Appends the slice specified by slice to the series. Slice ownership is passed to the series.

Returns true if appending succeeds.

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

Appends the array of slices specified by slices to the series. Slice ownership is passed to the series.

Returns true if appending succeeds.

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

Appends a single slice with the specified value and label to the series. Slice ownership is passed to the series. Returns null if value is NaN, Inf, or -Inf and adds nothing to the series.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[invokable] void QPieSeries::clear()

Clears all slices from the series.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

int QPieSeries::count() const

Returns the number of the slices in this series.

Note: Getter function for property count.

qreal QPieSeries::endAngle() const

Returns the end angle of the pie.

A full pie is 360 degrees, where 0 degrees is at 12 o'clock.

Note: Getter function for property endAngle.

See also setEndAngle(), startAngle(), and setStartAngle().

bool QPieSeries::insert(int index, QPieSlice *slice)

Inserts the slice specified by slice to the series before the slice at the position specified by index. Slice ownership is passed to the series.

Returns true if inserting succeeds.

bool QPieSeries::isEmpty() const

Returns true if the series is empty.

[invokable] bool QPieSeries::remove(QPieSlice *slice)

Removes a single slice, specified by slice, from the series and deletes it permanently.

The pointer cannot be referenced after this call.

Returns true if the removal succeeds.

Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.

[signal] void QPieSeries::removed(const QList<QPieSlice *> &slices)

This signal is emitted when the slices specified by slices are removed from the series.

See also remove().

void QPieSeries::setEndAngle(qreal angle)

Sets the end angle of the pie.

A full pie is 360 degrees, where 0 degrees is at 12 o'clock.

angle must be greater than the start angle.

Note: Setter function for property endAngle.

See also endAngle(), startAngle(), and setStartAngle().

void QPieSeries::setLabelsPosition(QPieSlice::LabelPosition position)

Sets the position of all the slice labels to position.

Note: This function affects only the current slices in the series. If a new slice is added, the default label position is QPieSlice::LabelOutside.

See also QPieSlice::labelPosition() and QPieSlice::setLabelPosition().

void QPieSeries::setLabelsVisible(bool visible)

Sets the visibility of all slice labels to visible.

Note: This function affects only the current slices in the series. If a new slice is added, the default label visibility is false.

See also QPieSlice::isLabelVisible() and QPieSlice::setLabelVisible().

void QPieSeries::setStartAngle(qreal angle)

Sets the start angle of the pie.

A full pie is 360 degrees, where 0 degrees is at 12 o'clock.

angle must be smaller than the end angle.

Note: Setter function for property startAngle.

See also startAngle(), endAngle(), and setEndAngle().

QList<QPieSlice *> QPieSeries::slices() const

Returns a list of slices that belong to this series.

qreal QPieSeries::startAngle() const

Returns the start angle of the pie.

A full pie is 360 degrees, where 0 degrees is at 12 o'clock.

Note: Getter function for property startAngle.

See also setStartAngle(), endAngle(), and setEndAngle().

qreal QPieSeries::sum() const

Returns the sum of all slice values in this series.

Note: Getter function for property sum.

See also QPieSlice::value(), QPieSlice::setValue(), and QPieSlice::percentage().

bool QPieSeries::take(QPieSlice *slice)

Takes a single slice, specified by slice, from the series. Does not delete the slice object.

Note: The series remains the slice's parent object. You must set the parent object to take full ownership.

Returns true if the take operation was successful.

[override virtual] QAbstractSeries::SeriesType QPieSeries::type() const

Reimplements an access function for property: QAbstractSeries::type.

Returns the type of the series.

QPieSeries &QPieSeries::operator<<(QPieSlice *slice)

Appends the slice specified by slice to the series and returns a reference to the series. Slice ownership is passed to the series.

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