En esta página

QBar3DSeries Class

La clase QBar3DSeries representa una serie de datos en un gráfico de barras 3D. Más...

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

Propiedades

Funciones públicas

QBar3DSeries(QObject *parent = nullptr)
QBar3DSeries(QBarDataProxy *dataProxy, QObject *parent = nullptr)
virtual ~QBar3DSeries() override
void clearArray()
void clearRow(qsizetype rowIndex)
QCategory3DAxis *columnAxis() const
QStringList columnLabels() const
QStringList customColumnLabels() const
QStringList customRowLabels() const
const QBarDataArray &dataArray() const &
QBarDataArray dataArray() &&
QBarDataProxy *dataProxy() const
bool isValueColoringEnabled() const
float meshAngle() const
void resetColumnAxis()
void resetRowAxis()
void resetValueAxis()
QCategory3DAxis *rowAxis() const
QList<QColor> rowColors() const
QStringList rowLabels() const
QPoint selectedBar() const
void setColumnAxis(QCategory3DAxis *axis)
void setColumnLabels(const QStringList &labels)
void setCustomColumnLabels(const QStringList &labels)
void setCustomRowLabels(const QStringList &labels)
void setDataArray(const QBarDataArray &newDataArray)
void setDataProxy(QBarDataProxy *proxy)
void setMeshAngle(float angle)
void setRowAxis(QCategory3DAxis *axis)
void setRowColors(const QList<QColor> &colors)
void setRowLabels(const QStringList &labels)
void setSelectedBar(QPoint position)
void setValueAxis(QValue3DAxis *axis)
void setValueColoringEnabled(bool enabled)
QValue3DAxis *valueAxis() const

Señales

void columnAxisChanged(QCategory3DAxis *axis)
void columnLabelsChanged()
void customColumnLabelsChanged(const QStringList &newCustomColumnLabels)
void customRowLabelsChanged(const QStringList &newCustomRowLabels)
void dataArrayChanged(const QBarDataArray &array)
void dataProxyChanged(QBarDataProxy *proxy)
void meshAngleChanged(float angle)
void rowAxisChanged(QCategory3DAxis *axis)
void rowColorsChanged(const QList<QColor> &rowcolors)
void rowLabelsChanged()
void selectedBarChanged(QPoint position)
void valueAxisChanged(QValue3DAxis *axis)
void valueColoringEnabledChanged(bool enabled)

Miembros públicos estáticos

Descripción detallada

Esta clase gestiona los elementos visuales específicos de la serie, así como los datos de la serie (a través de un proxy de datos).

En cuanto a la relación proxy-serie, es crucial destacar un par de puntos clave. En este contexto, los datos se almacenan en series y los usuarios pueden acceder al conjunto de datos a través de la serie. Esta serie está controlada o representada por un objeto proxy. Así, el proxy puede utilizarse para gestionar diversas operaciones sobre los datos y actualizar el conjunto de datos real. Sin embargo, es necesario crear una serie asociada a este proxy para editar el conjunto de datos.

Si no se establece explícitamente ningún proxy de datos para la serie, ésta crea un proxy por defecto. Si se establece otro proxy, se destruirá el proxy existente y todos los datos añadidos a la serie.

QBar3DSeries admite las siguientes etiquetas de formato para QAbstract3DSeries::setItemLabelFormat():

@rowTitleTítulo del eje de filas
@colTitleTítulo del eje de columnas
@valueTitleTítulo del eje de valores
@rowIdxÍndice de fila visible. Localizado usando la configuración regional del gráfico.
@colIdxÍndice de columna visible. Localizado utilizando la configuración regional del gráfico.
@etiquetaFilaEtiqueta del eje de filas
@colEtiquetaEtiqueta del eje de columnas
@valorEtiquetaValor del elemento formateado utilizando el formato del eje de valor adjunto al gráfico. Para obtener más información, consulte QValue3DAxis::labelFormat.
@nombreDeLaSerieNombre de la serie
%<especificación de formato>Valor del elemento en el formato especificado. Formateado utilizando las mismas reglas que QValue3DAxis::labelFormat.

Por ejemplo:

proxy->setItemLabelFormat(QStringLiteral("@valueTitle for (@rowLabel, @colLabel): %.1f"));

Véase también Qt Graphs Manejo de datos con 3D y Q3DGraphsWidgetItem::locale.

Documentación de propiedades

[since 6.11] columnAxis : QCategory3DAxis*

Contiene un eje de columnas adicional para la serie

Nota: El eje adicional no ajusta el ajuste del gráfico, pero permite un conjunto extra de etiquetas y una rejilla de eje.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

QCategory3DAxis *columnAxis() const
void setColumnAxis(QCategory3DAxis *axis)
void resetColumnAxis()

Señal de notificador:

void columnAxisChanged(QCategory3DAxis *axis)

columnLabels : QStringList

Esta propiedad contiene las etiquetas opcionales de las columnas de la matriz.

Los índices de esta matriz coinciden con los índices de columna de las filas. Si la lista es más corta que la fila más larga, no todas las columnas recibirán etiquetas.

Funciones de acceso:

QStringList columnLabels() const
void setColumnLabels(const QStringList &labels)

Señal del notificador:

void columnLabelsChanged()

[since 6.11] customColumnLabels : QStringList

Esta propiedad contiene las etiquetas de columna personalizadas opcionales para la matriz.

Estas etiquetas sustituirán a cualquier etiqueta generada por un proxy. Los índices de esta matriz coinciden con los índices de columna de las filas. Si la lista es más corta que la fila más larga, no se etiquetarán todas las columnas.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

QStringList customColumnLabels() const
void setCustomColumnLabels(const QStringList &labels)

Señal de notificador:

void customColumnLabelsChanged(const QStringList &newCustomColumnLabels)

[since 6.11] customRowLabels : QStringList

Esta propiedad contiene las etiquetas de fila personalizadas opcionales para la matriz.

Estas etiquetas sustituirán a cualquier etiqueta generada por un proxy. Los índices de esta matriz coinciden con los índices de fila de la matriz de datos. Si la lista es más corta que el número de filas, todas las filas no tendrán etiquetas.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

QStringList customRowLabels() const
void setCustomRowLabels(const QStringList &labels)

Señal de notificador:

void customRowLabelsChanged(const QStringList &newCustomRowLabels)

dataArray : QBarDataArray

Matriz de datos para la serie.

Contiene la referencia de la matriz de datos.

La señal dataArrayChanged se emite cuando se establece la matriz de datos, a menos que newDataArray sea idéntica a la anterior.

Nota: Antes de hacer nada con respecto al dataArray, debe crearse una serie para el proxy correspondiente.

Funciones de acceso:

const QBarDataArray &dataArray() const &
QBarDataArray dataArray() &&
void setDataArray(const QBarDataArray &newDataArray)

Señal de notificador:

void dataArrayChanged(const QBarDataArray &array)

Véase también clearRow(qsizetype rowIndex) y clearArray().

dataProxy : QBarDataProxy*

Esta propiedad contiene el proxy de datos activo.

La serie asume la propiedad de cualquier proxy que se le asigne y elimina cualquier proxy previamente asignado cuando se añade uno nuevo. El proxy no puede ser nulo ni estar asignado a otra serie.

Funciones de acceso:

QBarDataProxy *dataProxy() const
void setDataProxy(QBarDataProxy *proxy)

Señal del notificador:

void dataProxyChanged(QBarDataProxy *proxy)

meshAngle : float

Esta propiedad contiene el ángulo de rotación de la serie en grados.

Establecer esta propiedad equivale a la siguiente llamada:

setMeshRotation(QQuaternion::fromAxisAndAngle(0.0f, 1.0f, 0.0f, angle))

Nota: Al leer esta propiedad, se calcula a partir del valor QAbstract3DSeries::meshRotation utilizando precisión de coma flotante y siempre devuelve un valor de cero a 360 grados.

Funciones de acceso:

float meshAngle() const
void setMeshAngle(float angle)

Señal del notificador:

void meshAngleChanged(float angle)

Véase también QAbstract3DSeries::meshRotation.

[since 6.11] rowAxis : QCategory3DAxis*

Contiene un eje adicional para la serie

Nota: El eje adicional no ajusta el ajuste del gráfico, pero permite un conjunto extra de etiquetas y una rejilla de eje.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

QCategory3DAxis *rowAxis() const
void setRowAxis(QCategory3DAxis *axis)
void resetRowAxis()

Señal de notificador:

void rowAxisChanged(QCategory3DAxis *axis)

rowColors : QList<QColor>

Esta propiedad contiene la lista de colores de las filas de la serie.

Esta propiedad se puede utilizar para colorear las filas de la serie en diferentes colores. Para poder utilizar esta propiedad, la dirección QGraphsTheme::ColorStyle debe ser QGraphsTheme::ColorStyle::Uniform.

Funciones de acceso:

QList<QColor> rowColors() const
void setRowColors(const QList<QColor> &colors)

Señal del notificador:

void rowColorsChanged(const QList<QColor> &rowcolors)

Véase también QGraphsTheme::ColorStyle::Uniform.

rowLabels : QStringList

Esta propiedad contiene las etiquetas opcionales de las filas de la matriz.

Los índices de esta matriz coinciden con los índices de fila de la matriz de datos. Si la lista es más corta que el número de filas, no todas las filas tendrán etiquetas.

Funciones de acceso:

QStringList rowLabels() const
void setRowLabels(const QStringList &labels)

Señal del notificador:

void rowLabelsChanged()

selectedBar : QPoint

Esta propiedad contiene la barra de la serie que está seleccionada.

Funciones de acceso:

QPoint selectedBar() const
void setSelectedBar(QPoint position)

Señal del notificador:

void selectedBarChanged(QPoint position)

[since 6.11] valueAxis : QValue3DAxis*

Mantiene un eje de valores adicional para la serie Si se da un eje, la serie se ajustará a los valores mínimo y máximo del eje.

Esta propiedad se introdujo en Qt 6.11.

Funciones de acceso:

QValue3DAxis *valueAxis() const
void setValueAxis(QValue3DAxis *axis)
void resetValueAxis()

Señal del notificador:

void valueAxisChanged(QValue3DAxis *axis)

[since 6.9] valueColoringEnabled : bool

Utiliza el valor dado para colorear toda la barra basándose en el gradiente de rango.

Esta propiedad se puede utilizar para colorear cada barra por separado basándose en su valor y en el gradiente de rango dado. QGraphsTheme::ColorStyle debe estar en QGraphsTheme::ColorStyle::RangeGradient para usar esta propiedad.

Esta propiedad se introdujo en Qt 6.9.

Funciones de acceso:

bool isValueColoringEnabled() const
void setValueColoringEnabled(bool enabled)

Señal de notificador:

void valueColoringEnabledChanged(bool enabled)

Véase también QGraphsTheme::ColorStyle::RangeGradient.

Documentación de las funciones miembro

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

Construye una serie 3D de barras con el padre parent.

[explicit] QBar3DSeries::QBar3DSeries(QBarDataProxy *dataProxy, QObject *parent = nullptr)

Construye una serie 3D de barras con el proxy de datos dataProxy y el padre parent.

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

Borra una serie de barras 3D.

void QBar3DSeries::clearArray()

Borra el array existente.

void QBar3DSeries::clearRow(qsizetype rowIndex)

Borra la fila existente en el array de acuerdo con la dirección rowIndex.

[static] QPoint QBar3DSeries::invalidSelectionPosition()

Devuelve una posición inválida para la selección. Esta posición se establece en la propiedad selectedBar para borrar la selección de esta serie.

Véase también Q3DGraphsWidgetItem::clearSelection().

void QBar3DSeries::setSelectedBar(QPoint position)

Selecciona la barra en la posición position, especificada como fila y columna en la matriz de datos de la serie.

Sólo se puede seleccionar una barra a la vez.

Para borrar la selección de esta serie, invalidSelectionPosition() se establece como position.

Si se añade esta serie a un gráfico, éste puede ajustar la selección según la interacción del usuario o si deja de ser válida. La selección de una barra en otra serie añadida también borrará la selección.

Eliminar filas de la serie o insertar filas en ella antes de la fila de la barra seleccionada ajustará la selección de forma que la misma barra permanecerá seleccionada.

Nota: Función Setter para la propiedad selectedBar.

Véase también selectedBar() y Q3DGraphsWidgetItem::clearSelection().

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