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: |
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.
| Constante | Valor | Descripción |
|---|---|---|
QChart::NoAnimation | 0x0 | La animación está deshabilitada en el gráfico. Este es el valor por defecto. |
QChart::GridAxisAnimations | 0x1 | La animación del eje de rejilla está activada en el gráfico. |
QChart::SeriesAnimations | 0x2 | La animación de series está activada en el gráfico. |
QChart::AllAnimations | 0x3 | Todos 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.
| Constante | Valor | Descripción |
|---|---|---|
QChart::ChartThemeLight | 0 | El tema claro, que es el tema por defecto. |
QChart::ChartThemeBlueCerulean | 1 | El tema azul cerúleo. |
QChart::ChartThemeDark | 2 | El tema oscuro. |
QChart::ChartThemeBrownSand | 3 | El tema marrón arena. |
QChart::ChartThemeBlueNcs | 4 | El tema azul del sistema de color natural (NCS). |
QChart::ChartThemeHighContrast | 5 | El tema de alto contraste. |
QChart::ChartThemeBlueIcy | 6 | El tema azul hielo. |
QChart::ChartThemeQt | 7 | El tema Qt. |
enum QChart::ChartType
Este enum describe el tipo de gráfico.
| Constante | Valor | Descripción |
|---|---|---|
QChart::ChartTypeUndefined | 0 | El tipo de gráfico no está definido. |
QChart::ChartTypeCartesian | 1 | Carta cartesiana. |
QChart::ChartTypePolar | 2 | Un 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 serie | Eje horizontal (X) | Eje vertical (Y) |
|---|---|---|
| QXYSeries | QValueAxis | QValueAxis |
| QBarSeries | QBarCategoryAxis | QValueAxis |
| QPieSeries | Ninguno | Ninguno |
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.