QBar3DSeries Class

The QBar3DSeries class represents a data series in a 3D bar graph. More...

Header: #include <QBar3DSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Since: QtDataVisualization 1.0
Instantiated By: Bar3DSeries
Inherits: QAbstract3DSeries

Properties

Public Functions

QBar3DSeries(QObject *parent = nullptr)
QBar3DSeries(QBarDataProxy *dataProxy, QObject *parent = nullptr)
virtual ~QBar3DSeries()
QBarDataProxy *dataProxy() const
float meshAngle() const
QList<QColor> rowColors() const
QPoint selectedBar() const
void setDataProxy(QBarDataProxy *proxy)
void setMeshAngle(float angle)
void setRowColors(const QList<QColor> &colors)
void setSelectedBar(const QPoint &position)

Signals

void dataProxyChanged(QBarDataProxy *proxy)
void meshAngleChanged(float angle)
void rowColorsChanged(const QList<QColor> &rowcolors)
void selectedBarChanged(const QPoint &position)

Static Public Members

Detailed Description

This class manages the series specific visual elements, as well as the series data (via a data proxy).

If no data proxy is set explicitly for the series, the series creates a default proxy. Setting another proxy will destroy the existing proxy and all data added to it.

QBar3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():

@rowTitleTitle from row axis
@colTitleTitle from column axis
@valueTitleTitle from value axis
@rowIdxVisible row index. Localized using the graph locale.
@colIdxVisible column index. Localized using the graph locale.
@rowLabelLabel from row axis
@colLabelLabel from column axis
@valueLabelItem value formatted using the format of the value axis attached to the graph. For more information, see QValue3DAxis::labelFormat.
@seriesNameName of the series
%<format spec>Item value in the specified format. Formatted using the same rules as QValue3DAxis::labelFormat.

For example:

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

See also Qt Data Visualization Data Handling and QAbstract3DGraph::locale.

Property Documentation

dataProxy : QBarDataProxy*

This property holds the active data proxy.

The series assumes ownership of any proxy set to it and deletes any previously set proxy when a new one is added. The proxy cannot be null or set to another series.

Access functions:

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

Notifier signal:

void dataProxyChanged(QBarDataProxy *proxy)

meshAngle : float

This property holds the series rotation angle in degrees.

Setting this property is equivalent to the following call:

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

Note: When reading this property, it is calculated from the QAbstract3DSeries::meshRotation value using floating point precision and always returns a value from zero to 360 degrees.

Access functions:

float meshAngle() const
void setMeshAngle(float angle)

Notifier signal:

void meshAngleChanged(float angle)

See also QAbstract3DSeries::meshRotation.

[since 6.3] rowColors : QList<QColor>

This property holds the list of row colors in the series.

This property can be used to color the rows of the series in different colors. The Q3DTheme::ColorStyle must be set to Q3DTheme::ColorStyleUniform to use this property.

This property was introduced in Qt 6.3.

Access functions:

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

Notifier signal:

void rowColorsChanged(const QList<QColor> &rowcolors)

See also Q3DTheme::ColorStyleUniform.

selectedBar : QPoint

This property holds the bar in the series that is selected.

Access functions:

QPoint selectedBar() const
void setSelectedBar(const QPoint &position)

Notifier signal:

void selectedBarChanged(const QPoint &position)

Member Function Documentation

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

Constructsa bar 3D series with the parent parent.

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

Constructs a bar 3D series with the data proxy dataProxy and the parent parent.

[virtual noexcept] QBar3DSeries::~QBar3DSeries()

Deletes a bar 3D series.

[static] QPoint QBar3DSeries::invalidSelectionPosition()

Returns an invalid position for selection. This position is set to the selectedBar property to clear the selection from this series.

See also QAbstract3DGraph::clearSelection().

void QBar3DSeries::setSelectedBar(const QPoint &position)

Selects the bar at the position position, specified as a row and column in the data array of the series.

Only one bar can be selected at a time.

To clear selection from this series, invalidSelectionPosition() is set as position.

If this series is added to a graph, the graph can adjust the selection according to user interaction or if it becomes invalid. Selecting a bar on another added series will also clear the selection.

Removing rows from or inserting rows to the series before the row of the selected bar will adjust the selection so that the same bar will stay selected.

Note: Setter function for property selectedBar.

See also selectedBar() and QAbstract3DGraph::clearSelection().