En esta página

QChart Class

La clase QChart gestiona la representación gráfica de las series, leyendas y ejes del gráfico. Más...

Header: #include <QChart>
Inherits: QGraphicsWidget
Inherited By:

QPolarChart

Tipos Públicos

enum AnimationOption { NoAnimation, GridAxisAnimations, SeriesAnimations, AllAnimations }
flags AnimationOptions
enum ChartTheme { ChartThemeLight, ChartThemeBlueCerulean, ChartThemeDark, ChartThemeBrownSand, ChartThemeBlueNcs, …, ChartThemeQt }
enum ChartType { ChartTypeUndefined, ChartTypeCartesian, ChartTypePolar }

Propiedades

Funciones públicas

QChart(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
virtual ~QChart()
void addAxis(QAbstractAxis *axis, Qt::Alignment alignment)
void addSeries(QAbstractSeries *series)
int animationDuration() const
QEasingCurve animationEasingCurve() const
QChart::AnimationOptions animationOptions() const
QList<QAbstractAxis *> axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = nullptr) const
QBrush backgroundBrush() const
QPen backgroundPen() const
qreal backgroundRoundness() const
QChart::ChartType chartType() const
void createDefaultAxes()
bool isBackgroundVisible() const
bool isDropShadowEnabled() const
bool isPlotAreaBackgroundVisible() const
bool isZoomed()
QLegend *legend() const
QLocale locale() const
bool localizeNumbers() const
QPointF mapToPosition(const QPointF &value, QAbstractSeries *series = nullptr)
QPointF mapToValue(const QPointF &position, QAbstractSeries *series = nullptr)
QMargins margins() const
QRectF plotArea() const
QBrush plotAreaBackgroundBrush() const
QPen plotAreaBackgroundPen() const
void removeAllSeries()
void removeAxis(QAbstractAxis *axis)
void removeSeries(QAbstractSeries *series)
void scroll(qreal dx, qreal dy)
QList<QAbstractSeries *> series() const
void setAnimationDuration(int msecs)
void setAnimationEasingCurve(const QEasingCurve &curve)
void setAnimationOptions(QChart::AnimationOptions options)
void setBackgroundBrush(const QBrush &brush)
void setBackgroundPen(const QPen &pen)
void setBackgroundRoundness(qreal diameter)
void setBackgroundVisible(bool visible = true)
void setDropShadowEnabled(bool enabled = true)
void setLocale(const QLocale &locale)
void setLocalizeNumbers(bool localize)
void setMargins(const QMargins &margins)
void setPlotArea(const QRectF &rect)
void setPlotAreaBackgroundBrush(const QBrush &brush)
void setPlotAreaBackgroundPen(const QPen &pen)
void setPlotAreaBackgroundVisible(bool visible = true)
void setTheme(QChart::ChartTheme theme)
void setTitle(const QString &title)
void setTitleBrush(const QBrush &brush)
void setTitleFont(const QFont &font)
QChart::ChartTheme theme() const
QString title() const
QBrush titleBrush() const
QFont titleFont() const
void zoom(qreal factor)
void zoomIn()
void zoomIn(const QRectF &rect)
void zoomOut()
void zoomReset()

Señales

void plotAreaChanged(const QRectF &plotArea)

Descripción Detallada

QChart es un QGraphicsWidget que se puede mostrar en un QGraphicsScene. Gestiona la representación gráfica de diferentes tipos de series y otros objetos relacionados con el gráfico como la leyenda y los ejes. Para mostrar simplemente un gráfico en un diseño, se puede utilizar la clase de conveniencia QChartView en lugar de QChart. Además, las series de líneas, splines, áreas y dispersión pueden presentarse como gráficos polares utilizando la clase QPolarChart.

Véase también QChartView y QPolarChart.

Documentación de tipos de miembros

enum QChart::AnimationOption
banderas QChart::AnimationOptions

Este enum describe las animaciones habilitadas en el gráfico.

ConstanteValorDescripción
QChart::NoAnimation0x0La animación está deshabilitada en el gráfico. Este es el valor por defecto.
QChart::GridAxisAnimations0x1La animación del eje de rejilla está activada en el gráfico.
QChart::SeriesAnimations0x2La animación de series está activada en el gráfico.
QChart::AllAnimations0x3Todos los tipos de animación están habilitados en el gráfico.

El tipo AnimationOptions es un typedef para QFlags<AnimationOption>. Almacena una combinación OR de valores AnimationOption.

enum QChart::ChartTheme

Este enum describe el tema utilizado por el gráfico.

Un tema es una colección integrada de ajustes relacionados con el estilo de la interfaz de usuario que se aplican a todos los elementos visuales de un gráfico, como los colores, plumas, pinceles y fuentes de las series, así como los ejes, el título y la leyenda. La Galería de Gráficos con Widgets ilustra cómo utilizar los temas.

Nota: Al cambiar el tema se sobrescribirán todas las personalizaciones aplicadas previamente a la serie.

ConstanteValorDescripción
QChart::ChartThemeLight0El tema claro, que es el tema por defecto.
QChart::ChartThemeBlueCerulean1El tema azul cerúleo.
QChart::ChartThemeDark2El tema oscuro.
QChart::ChartThemeBrownSand3El tema marrón arena.
QChart::ChartThemeBlueNcs4El tema azul del sistema de color natural (NCS).
QChart::ChartThemeHighContrast5El tema de alto contraste.
QChart::ChartThemeBlueIcy6El tema azul hielo.
QChart::ChartThemeQt7El tema Qt.

enum QChart::ChartType

Este enum describe el tipo de gráfico.

ConstanteValorDescripción
QChart::ChartTypeUndefined0El tipo de gráfico no está definido.
QChart::ChartTypeCartesian1Carta cartesiana.
QChart::ChartTypePolar2Un gráfico polar.

Documentación de propiedades

animationDuration : int

Esta propiedad contiene la duración de la animación para el gráfico.

Funciones de acceso:

int animationDuration() const
void setAnimationDuration(int msecs)

animationEasingCurve : QEasingCurve

Esta propiedad contiene la curva de relajación de la animación para el gráfico.

Funciones de acceso:

QEasingCurve animationEasingCurve() const
void setAnimationEasingCurve(const QEasingCurve &curve)

animationOptions : QChart::AnimationOptions

Esta propiedad contiene las opciones de animación para el gráfico.

Las animaciones se activan o desactivan en función de esta opción.

Funciones de acceso:

QChart::AnimationOptions animationOptions() const
void setAnimationOptions(QChart::AnimationOptions options)

backgroundRoundness : qreal

Esta propiedad contiene el diámetro del círculo redondeado en las esquinas del fondo del gráfico.

Funciones de acceso:

qreal backgroundRoundness() const
void setBackgroundRoundness(qreal diameter)

backgroundVisible : bool

Esta propiedad indica si el fondo del gráfico es visible.

Funciones de acceso:

bool isBackgroundVisible() const
void setBackgroundVisible(bool visible = true)

Véase también setBackgroundBrush(), setBackgroundPen(), y plotAreaBackgroundVisible.

[read-only] chartType : QChart::ChartType

Esta propiedad indica si el gráfico es cartesiano o polar.

Esta propiedad se establece internamente y es de sólo lectura.

Funciones de acceso:

QChart::ChartType chartType() const

Véase también QPolarChart.

dropShadowEnabled : bool

Esta propiedad indica si el efecto de sombra de fondo está activado.

Si es true, el efecto de sombra de fondo está activado. Si se establece en false, se desactiva.

Nota: El efecto de sombra depende del tema, por lo que la configuración puede cambiar si se modifica el tema.

Funciones de acceso:

bool isDropShadowEnabled() const
void setDropShadowEnabled(bool enabled = true)

locale : QLocale

Esta propiedad contiene la configuración regional utilizada para dar formato a varias etiquetas de gráficos.

Las etiquetas se localizan sólo cuando localizeNumbers es true, excepto las etiquetas QDateTimeAxis, que siempre utilizan la QLocale establecida con esta propiedad.

Por defecto se utiliza la configuración regional por defecto de la aplicación en el momento en que se construye el gráfico.

Funciones de acceso:

QLocale locale() const
void setLocale(const QLocale &locale)

Véase también localizeNumbers.

localizeNumbers : bool

Esta propiedad indica si los números están localizados.

Cuando true, todos los números generados que aparezcan en varias series y etiquetas de ejes se localizarán utilizando la configuración QLocale establecida con la propiedad locale. Cuando se utiliza false, siempre se utiliza la localización C. Por defecto es false.

Nota: Esta propiedad no afecta a las etiquetas QDateTimeAxis, que siempre utilizan la QLocale establecida con la propiedad locale.

Funciones de acceso:

bool localizeNumbers() const
void setLocalizeNumbers(bool localize)

Véase también locale.

margins : QMargins

Esta propiedad contiene los márgenes mínimos permitidos entre el borde del rectángulo del gráfico y el área de trazado.

Los márgenes se utilizan para dibujar el título, los ejes y la leyenda.

Funciones de acceso:

QMargins margins() const
void setMargins(const QMargins &margins)

plotArea : QRectF

Esta propiedad contiene el rectángulo dentro del cual se dibuja el gráfico.

El área de trazado no incluye el área definida por los márgenes. Por defecto, se redimensionará si está dentro de QChartView. Si se establece un tamaño explícito para el área de trazado, se respetará. Para volver al comportamiento por defecto, llame a setPlotArea(QRectF());.

Funciones de acceso:

QRectF plotArea() const
void setPlotArea(const QRectF &rect)

Señal de aviso:

void plotAreaChanged(const QRectF &plotArea)

plotAreaBackgroundVisible : bool

Esta propiedad indica si el fondo del área de trazado del gráfico es visible.

Nota: Por defecto, el fondo del área de trazado es invisible y el área de trazado utiliza el fondo general del gráfico.

Funciones de acceso:

bool isPlotAreaBackgroundVisible() const
void setPlotAreaBackgroundVisible(bool visible = true)

Véase también setPlotAreaBackgroundBrush(), setPlotAreaBackgroundPen(), y backgroundVisible.

theme : QChart::ChartTheme

Esta propiedad contiene el tema utilizado para el gráfico.

Funciones de acceso:

QChart::ChartTheme theme() const
void setTheme(QChart::ChartTheme theme)

title : QString

Esta propiedad contiene el título del gráfico.

El título se muestra como un encabezado en la parte superior del gráfico. Los títulos de los gráficos admiten formato HTML.

Funciones de acceso:

QString title() const
void setTitle(const QString &title)

Documentación de funciones miembro

[explicit] QChart::QChart(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())

Construye un objeto gráfico hijo de parent. Las propiedades especificadas por wFlags se pasan al constructor QGraphicsWidget.

[virtual noexcept] QChart::~QChart()

Elimina el objeto gráfico y sus hijos, como los objetos serie y eje añadidos a él.

void QChart::addAxis(QAbstractAxis *axis, Qt::Alignment alignment)

Añade el eje axis al gráfico alineado como se especifica en alignment. El gráfico toma la propiedad del eje.

Véase también removeAxis(), createDefaultAxes() y QAbstractSeries::attachAxis().

void QChart::addSeries(QAbstractSeries *series)

Añade la serie series al gráfico y toma posesión de ella.

Nota: Una serie recién añadida no se adjunta a ningún eje por defecto, ni siquiera a aquellos que pudieran haber sido creados para el gráfico utilizando createDefaultAxes() antes de que la serie fuera añadida al gráfico. Si no se adjuntan ejes a la serie recién añadida antes de que se muestre el gráfico, la serie se dibujará como si tuviera ejes con rangos que ajustaran exactamente la serie al área de trazado del gráfico. Esto puede ser confuso si el mismo gráfico también muestra otras series que tienen ejes correctamente adjuntos, así que asegúrese siempre de llamar a createDefaultAxes() después de que se haya añadido una serie o de adjuntar explícitamente ejes para la serie.

Véase también removeSeries(), removeAllSeries(), createDefaultAxes() y QAbstractSeries::attachAxis().

QList<QAbstractAxis *> QChart::axes(Qt::Orientations orientation = Qt::Horizontal|Qt::Vertical, QAbstractSeries *series = nullptr) const

Devuelve los ejes adjuntos a la serie series con la orientación especificada por orientation. Si no se especifica ninguna serie, se devuelven todos los ejes añadidos al gráfico con la orientación especificada.

Véase también addAxis() y createDefaultAxes().

QBrush QChart::backgroundBrush() const

Obtiene el pincel que se utiliza para pintar el fondo del área del gráfico.

Véase también setBackgroundBrush().

QPen QChart::backgroundPen() const

Obtiene el lápiz que se utiliza para pintar el fondo del área del gráfico.

Véase también setBackgroundPen().

void QChart::createDefaultAxes()

Crea ejes para el gráfico basándose en las series que ya se han añadido al gráfico. Los ejes añadidos previamente al gráfico se eliminarán.

Nota: Esta función debe ejecutarse después de haber añadido todas las series al gráfico. Los ejes creados por esta función NO se adjuntarán automáticamente a ninguna serie añadida al gráfico después de haber llamado a esta función. Una serie sin ejes adjuntos se escalará por defecto para utilizar toda el área del gráfico, lo que puede ser confuso si hay otras series con ejes adjuntos también presentes.

Tipo de serieEje horizontal (X)Eje vertical (Y)
QXYSeriesQValueAxisQValueAxis
QBarSeriesQBarCategoryAxisQValueAxis
QPieSeriesNingunoNinguno

Si hay varias series derivadas de QXYSeries añadidas al gráfico y no se han añadido series de otros tipos, entonces sólo se crea un par de ejes. Si hay varias series de diferentes tipos añadidas al gráfico, entonces cada serie obtiene su propio par de ejes.

Los ejes específicos de la serie pueden obtenerse posteriormente del gráfico proporcionando la serie como parámetro para la llamada a la función axes(). QPieSeries no crea ningún eje.

Véase también axes() y QAbstractSeries::attachAxis().

bool QChart::isZoomed()

Devuelve true si alguna serie tiene un dominio ampliado.

QLegend *QChart::legend() const

Devuelve el objeto leyenda del gráfico. La propiedad permanece con el gráfico.

QPointF QChart::mapToPosition(const QPointF &value, QAbstractSeries *series = nullptr)

Devuelve la posición en el gráfico que corresponde al valor value en la serie especificada por series.

QPointF QChart::mapToValue(const QPointF &position, QAbstractSeries *series = nullptr)

Devuelve el valor de la serie especificada por series en la posición especificada por position en un gráfico.

QBrush QChart::plotAreaBackgroundBrush() const

Devuelve el pincel utilizado para rellenar el fondo del área de trazado del gráfico.

Véase también plotArea(), plotAreaBackgroundVisible, plotAreaBackgroundPen(), y setPlotAreaBackgroundBrush().

QPen QChart::plotAreaBackgroundPen() const

Devuelve la pluma utilizada para dibujar el fondo del área de trazado del gráfico.

Véase también plotArea(), plotAreaBackgroundVisible, plotAreaBackgroundBrush(), y setPlotAreaBackgroundPen().

void QChart::removeAllSeries()

Elimina y borra todos los objetos serie que se han añadido al gráfico.

Véase también addSeries() y removeSeries().

void QChart::removeAxis(QAbstractAxis *axis)

Elimina el eje axis del gráfico. El gráfico libera la propiedad del objeto axis especificado.

Véase también addAxis(), createDefaultAxes() y QAbstractSeries::detachAxis().

void QChart::removeSeries(QAbstractSeries *series)

Elimina la serie series del gráfico. El gráfico libera la propiedad del objeto series especificado.

Véase también addSeries() y removeAllSeries().

void QChart::scroll(qreal dx, qreal dy)

Desplaza el área visible del gráfico la distancia especificada por dx y dy.

Para los gráficos polares, dx indica el ángulo a lo largo del eje angular en lugar de la distancia.

QList<QAbstractSeries *> QChart::series() const

Devuelve todas las series añadidas al gráfico.

Véase también addSeries(), removeSeries() y removeAllSeries().

void QChart::setBackgroundBrush(const QBrush &brush)

Establece el pincel que se utiliza para pintar el fondo del área del gráfico en brush.

Véase también backgroundBrush().

void QChart::setBackgroundPen(const QPen &pen)

Establece el lápiz que se utiliza para pintar el fondo del área del gráfico en pen.

Véase también backgroundPen().

void QChart::setPlotAreaBackgroundBrush(const QBrush &brush)

Establece el pincel utilizado para rellenar el fondo del área de trazado del gráfico en brush.

Véase también plotArea(), plotAreaBackgroundVisible, setPlotAreaBackgroundPen(), y plotAreaBackgroundBrush().

void QChart::setPlotAreaBackgroundPen(const QPen &pen)

Establece el lápiz utilizado para dibujar el fondo del área de trazado del gráfico en pen.

Véase también plotArea(), plotAreaBackgroundVisible, setPlotAreaBackgroundBrush(), y plotAreaBackgroundPen().

void QChart::setTitleBrush(const QBrush &brush)

Establece el pincel utilizado para dibujar el texto del título en brush.

Véase también titleBrush().

void QChart::setTitleFont(const QFont &font)

Establece la fuente utilizada para dibujar el título del gráfico en font.

Véase también titleFont().

QBrush QChart::titleBrush() const

Devuelve el pincel utilizado para dibujar el texto del título.

Véase también setTitleBrush().

QFont QChart::titleFont() const

Obtiene la fuente que se utiliza para dibujar el título del gráfico.

Véase también setTitleFont().

void QChart::zoom(qreal factor)

Amplía la vista según el factor personalizado factor.

Un factor superior a 1,0 amplía la vista y un factor entre 0,0 y 1,0 la reduce.

void QChart::zoomIn()

Amplía la vista en un factor de dos.

void QChart::zoomIn(const QRectF &rect)

Amplía la vista hasta un nivel máximo en el que el rectángulo rect sigue siendo totalmente visible.

Nota: Aplicar un zoom puede modificar las propiedades de los ejes adjuntos, por ejemplo QAbstractAxis::min y QAbstractAxis::max.

Nota: No es compatible con gráficos polares.

void QChart::zoomOut()

Aleja la vista en un factor de dos.

Nota: Esto no hará nada si el resultado contiene un rango de eje logarítmico no válido.

void QChart::zoomReset()

Restablece los dominios de las series a lo que eran antes de llamar a cualquier método de zoom.

Nota: Esto también restablecerá los ajustes de desplazamiento y de rango de eje explícito especificados entre la primera operación de zoom y la llamada a este método. Si no se ha realizado ninguna operación de zoom, este método no hace nada.

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