En esta página

QPieSeries Class

La clase QPieSeries presenta los datos en gráficos circulares. Más...

Cabecera: #include <QPieSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
En QML: PieSeries
Hereda: QAbstractSeries

Tipos Públicos

(since 6.10) enum class LabelVisibility { None, First, Even, Odd }

Propiedades

Funciones públicas

QPieSeries(QObject *parent = nullptr)
QPieSeries::LabelVisibility angleSpanLabelVisibility() const
qreal angleSpanVisibleLimit() const
bool append(QPieSlice *slice)
bool append(const QList<QPieSlice *> &slices)
QPieSlice *append(const QString &label, qreal value)
QPieSlice *at(qsizetype index)
void clear()
qsizetype count() const
qreal endAngle() const
QPieSlice *find(const QString &label)
qreal holeSize() const
qreal horizontalPosition() const
bool insert(qsizetype index, QPieSlice *slice)
bool isEmpty() const
qreal pieSize() const
bool remove(QPieSlice *slice)
bool remove(qsizetype index)
void removeMultiple(qsizetype index, int count)
bool replace(const QList<QPieSlice *> &slices)
bool replace(QPieSlice *oldSlice, QPieSlice *newSlice)
bool replace(qsizetype index, QPieSlice *slice)
void setAngleSpanLabelVisibility(QPieSeries::LabelVisibility newAngleSpanVisibleMode)
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)
void setEndAngle(qreal angle)
void setHoleSize(qreal holeSize)
void setHorizontalPosition(qreal relativePosition)
void setLabelsPosition(QPieSlice::LabelPosition position)
void setLabelsVisible(bool visible)
void setPieSize(qreal relativeSize)
void setStartAngle(qreal angle)
void setVerticalPosition(qreal relativePosition)
QList<QPieSlice *> slices() const
qreal startAngle() const
qreal sum() const
bool take(QPieSlice *slice)
qreal verticalPosition() const
QPieSeries &operator<<(QPieSlice *slice)

Funciones públicas reimplementadas

virtual QAbstractSeries::SeriesType type() const override

Señales

void added(const QList<QPieSlice *> &slices)
void angleSpanLabelVisibilityChanged(QPieSeries::LabelVisibility visibility)
void angleSpanVisibleLimitChanged(qreal limit)
void countChanged()
void endAngleChanged()
void holeSizeChanged()
void horizontalPositionChanged()
void pieSizeChanged()
void removed(const QList<QPieSlice *> &slices)
void startAngleChanged()
void sumChanged()
void verticalPositionChanged()

Descripción detallada

Una serie de tartas se compone de porciones que se definen como objetos QPieSlice. Las porciones pueden tener cualquier valor ya que el objeto QPieSeries calcula el porcentaje de una porción comparado con la suma de todas las porciones de la serie para determinar el tamaño real de la porción en el gráfico.

El tamaño del pastel y su posición en el gráfico se controlan utilizando valores relativos que van de 0.0 a 1.0. Estos valores se refieren al rectángulo real del gráfico. Estos valores se refieren al rectángulo real del gráfico.

Por defecto, la tarta se define como una tarta completa. Se puede crear una tarta parcial estableciendo un ángulo inicial y un intervalo de ángulos para la serie. Una tarta completa tiene 360 grados, donde 0 está a las 12 en punto.

Véase también QPieSlice.

Documentación del tipo de miembro

[since 6.10] enum class QPieSeries::LabelVisibility

Modo de visibilidad de la etiqueta.

ConstanteValorDescripción
QPieSeries::LabelVisibility::None0Se ocultan todas las etiquetas de los cortes con ángulos menores que angleSpanVisibleLimit.
QPieSeries::LabelVisibility::First1Todas las etiquetas de los cortes consecutivos con ángulos menores que angleSpanVisibleLimit estarán ocultas, excepto la primera. Este es el valor por defecto.
QPieSeries::LabelVisibility::Even2Todas las demás etiquetas de cortes consecutivos con ángulos menores que angleSpanVisibleLimit se ocultarán, empezando por la segunda.
QPieSeries::LabelVisibility::Odd3Todas las demás etiquetas de cortes consecutivos con ángulos menores que angleSpanVisibleLimit se ocultarán, empezando por la primera.

Este enum se introdujo en Qt 6.10.

Véase también QPieSeries::angleSpanVisibleLimit.

Documentación de Propiedades

[since 6.10] angleSpanLabelVisibility : LabelVisibility

Esta propiedad contiene el modo de visibilidad de las etiquetas.

Es el modo que determina qué etiquetas se ocultarán si están por debajo del límite de span angular establecido con angleSpanVisibleLimit. No tiene efecto si no se ha establecido angleSpanVisibleLimit.

Esta propiedad se introdujo en Qt 6.10.

Funciones de acceso:

QPieSeries::LabelVisibility angleSpanLabelVisibility() const
void setAngleSpanLabelVisibility(QPieSeries::LabelVisibility newAngleSpanVisibleMode)

Señal de notificador:

void angleSpanLabelVisibilityChanged(QPieSeries::LabelVisibility visibility)

Véase también QPieSeries::angleSpanVisibleLimit.

[since 6.10] angleSpanVisibleLimit : qreal

Esta propiedad contiene el límite de ángulo para la visibilidad de la etiqueta.

El intervalo angular que se utilizará como límite de visibilidad para la etiqueta de una rebanada. Una rebanada con un ángulo inferior a este valor cambiará su visibilidad en función de angleSpanLabelVisibility establecido en la serie. El valor por defecto es 0, lo que significa que no se ocultará ninguna rebanada independientemente de angleSpanLabelVisibility.

Esta propiedad se introdujo en Qt 6.10.

Funciones de acceso:

qreal angleSpanVisibleLimit() const
void setAngleSpanVisibleLimit(qreal newAngleSpanVisibleLimit)

Señal de notificador:

void angleSpanVisibleLimitChanged(qreal limit)

Véase también QPieSeries::angleSpanLabelVisibility.

[read-only] count : qsizetype

Esta propiedad contiene el número de rodajas de la serie.

Funciones de acceso:

qsizetype count() const

Señal del notificador:

void countChanged()

endAngle : qreal

Esta propiedad mantiene el ángulo final de la tarta.

Una tarta completa tiene 360 grados, donde 0 grados está a las 12 en punto.

El valor por defecto es 360.

Funciones de acceso:

qreal endAngle() const
void setEndAngle(qreal angle)

Señal del notificador:

void endAngleChanged()

holeSize : qreal

Esta propiedad contiene el tamaño del agujero del donut.

Cuando se establece la propiedad pieSize, esta propiedad se ajusta si es necesario, para asegurar que el tamaño del agujero no es mayor que el tamaño de la tarta.

El valor por defecto es 0.0.

Funciones de acceso:

qreal holeSize() const
void setHoleSize(qreal holeSize)

Señal del notificador:

void holeSizeChanged()

horizontalPosition : qreal

Esta propiedad contiene la posición horizontal de la tarta.

El valor es relativo al rectángulo del gráfico, de modo que:

  • 0.0 es la izquierda absoluta.
  • 1.0 es la derecha absoluta.

El valor por defecto es 0.5 (centro).

Funciones de acceso:

qreal horizontalPosition() const
void setHorizontalPosition(qreal relativePosition)

Señal del notificador:

void horizontalPositionChanged()

Véase también verticalPosition.

pieSize : qreal

Esta propiedad contiene el tamaño de la tarta.

El valor es relativo al rectángulo del gráfico, de modo que:

  • 0.0 es el pieSize mínimo (pastel no dibujado).
  • 1.0 es el pieSize máximo que puede caber en la gráfica.

Cuando se establece esta propiedad, la propiedad holeSize se ajusta si es necesario, para asegurar que el tamaño del agujero no es mayor que el tamaño de la tarta.

El valor por defecto es 0.7.

Funciones de acceso:

qreal pieSize() const
void setPieSize(qreal relativeSize)

Señal del notificador:

void pieSizeChanged()

startAngle : qreal

Esta propiedad mantiene el ángulo inicial de la tarta.

Una tarta completa tiene 360 grados, donde 0 grados está a las 12 en punto.

El valor por defecto es 0.

Funciones de acceso:

qreal startAngle() const
void setStartAngle(qreal angle)

Señal del notificador:

void startAngleChanged()

[read-only] sum : qreal

Esta propiedad mantiene la suma de todos los cortes.

La serie lleva la cuenta de la suma de todos los cortes que contiene.

Funciones de acceso:

qreal sum() const

Señal del notificador:

void sumChanged()

verticalPosition : qreal

Esta propiedad mantiene la posición vertical de la tarta.

El valor es relativo al rectángulo del gráfico, de modo que:

  • 0.0 es la parte superior absoluta.
  • 1.0 es la parte inferior absoluta.

El valor por defecto es 0.5 (centro).

Funciones de acceso:

qreal verticalPosition() const
void setVerticalPosition(qreal relativePosition)

Señal del notificador:

void verticalPositionChanged()

Véase también horizontalPosition.

Documentación de las funciones miembro

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

Construye un objeto serie hijo de parent.

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

Esta señal se emite cuando los cortes especificados por slices se añaden a la serie.

Véase también append().

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

Añade el segmento especificado por slice a la serie. La propiedad de la porción se pasa a la serie.

Devuelve true si la anexión tiene éxito.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Añade a la serie la matriz de cortes especificada por slices. La propiedad de los cortes se pasa a la serie.

Devuelve true si la anexión tiene éxito.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Añade a la serie un único corte con las direcciones value y label especificadas. La propiedad de la porción se pasa a la serie. Devuelve null si value es NaN, Inf, o -Inf y no añade nada a la serie.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] QPieSlice *QPieSeries::at(qsizetype index)

Devuelve el PieSlice en la posición index. Devuelve null si no se ha encontrado PieSlice.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] void QPieSeries::clear()

Borra todos los cortes de la serie.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

qsizetype QPieSeries::count() const

Devuelve el número de rodajas de esta serie.

Nota: Función Getter para la propiedad count.

qreal QPieSeries::endAngle() const

Devuelve el ángulo final de la tarta.

Una tarta completa tiene 360 grados, donde 0 grados está a las 12 en punto.

Nota: Función Getter para la propiedad endAngle.

Véase también setEndAngle(), startAngle(), y setStartAngle().

[invokable] QPieSlice *QPieSeries::find(const QString &label)

Busca un PieSlice que contenga la etiqueta label. Devuelve el PieSlice si lo encuentra, null en caso contrario.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QPieSeries::insert(qsizetype index, QPieSlice *slice)

Inserta el slice especificado por slice en la serie antes del slice en la posición especificada por index. La propiedad de la rebanada se pasa a la serie.

Devuelve true si la inserción tiene éxito.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

bool QPieSeries::isEmpty() const

Devuelve true si la serie está vacía.

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

Elimina una única porción, especificada por slice, de la serie y la borra permanentemente.

No se puede hacer referencia al puntero después de esta llamada.

Devuelve true si la eliminación tiene éxito.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QPieSeries::remove(qsizetype index)

Elimina el PieSlice en la ubicación index. El PieSlice será eliminado permanentemente. Devuelve true si la eliminación se ha realizado correctamente.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] void QPieSeries::removeMultiple(qsizetype index, int count)

Elimina varios PieSlices de la serie empezando por index hasta un número de count. Los PieSlices se eliminarán permanentemente.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Esta señal se emite cuando los cortes especificados por slices se eliminan de la serie.

Véase también remove().

[invokable] bool QPieSeries::replace(const QList<QPieSlice *> &slices)

Sustituye toda la lista de PieSlices de la serie por la lista especificada por slices. Todos los PieSlices originales serán eliminados permanentemente. Devuelve true si todos los PieSlices han sido reemplazados con éxito.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QPieSeries::replace(QPieSlice *oldSlice, QPieSlice *newSlice)

Sustituye el PieSlice oldSlice por newSlice si se encuentra en la serie.oldSlice se borrará permanentemente. Devuelve true si la sustitución tiene éxito.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

[invokable] bool QPieSeries::replace(qsizetype index, QPieSlice *slice)

Sustituye el PieSlice en la posición index por el especificado por slice. El PieSlice original será eliminado permanentemente. Devuelve false si el reemplazo de alguno de los PieSlices falla.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

void QPieSeries::setEndAngle(qreal angle)

Establece el ángulo final de la tarta.

Un pastel completo tiene 360 grados, donde 0 grados está a las 12 en punto.

angle debe ser mayor que el ángulo inicial.

Nota: Función Setter para la propiedad endAngle.

Véase también endAngle(), startAngle(), y setStartAngle().

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

Establece la posición de todas las etiquetas de las rebanadas en position.

Nota: Esta función sólo afecta a las rebanadas actuales de la serie. Si se añade una nueva rebanada, la posición por defecto de la etiqueta es QPieSlice::LabelOutside.

Véase también QPieSlice::labelPosition() y QPieSlice::setLabelPosition().

void QPieSeries::setLabelsVisible(bool visible)

Establece la visibilidad de todas las etiquetas de las rebanadas en visible.

Nota: Esta función sólo afecta a los cortes actuales de la serie. Si se añade una nueva rebanada, la visibilidad de la etiqueta por defecto es false.

Véase también QPieSlice::isLabelVisible() y QPieSlice::setLabelVisible().

void QPieSeries::setStartAngle(qreal angle)

Establece el ángulo inicial de la tarta.

Un pastel completo tiene 360 grados, donde 0 grados está a las 12 en punto.

angle debe ser menor que el ángulo final.

Nota: Función Setter para la propiedad startAngle.

Véase también startAngle(), endAngle(), y setEndAngle().

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

Devuelve una lista de rodajas que pertenecen a esta serie.

qreal QPieSeries::startAngle() const

Devuelve el ángulo inicial de la tarta.

Una tarta completa tiene 360 grados, donde 0 grados está a las 12 en punto.

Nota: Función Getter para la propiedad startAngle.

Véase también setStartAngle(), endAngle(), y setEndAngle().

qreal QPieSeries::sum() const

Devuelve la suma de todos los valores de corte de esta serie.

Nota: Función Getter para la propiedad sum.

Véase también QPieSlice::value(), QPieSlice::setValue(), y QPieSlice::percentage().

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

Toma una única rebanada, especificada por slice, de la serie. No borra el objeto slice.

Nota: La serie sigue siendo el objeto padre del slice. Debe establecer el objeto padre para tomar la propiedad completa.

Devuelve true si la operación de toma se ha realizado correctamente.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Reimplementa una función de acceso a la propiedad: QAbstractSeries::type.

Devuelve el tipo de la serie.

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

Añade el segmento especificado por slice a la serie y devuelve una referencia a la serie. La propiedad de la rebanada se pasa a la serie.

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