QBar3DSeries Class

QBar3DSeries 类在三维条形图中表示数据序列。更多

Header: #include <QBar3DSeries>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
在 QML 中: Bar3DSeries
继承: QAbstract3DSeries

属性

公共功能

QBar3DSeries(QObject *parent = nullptr)
QBar3DSeries(QBarDataProxy *dataProxy, QObject *parent = nullptr)
virtual ~QBar3DSeries() override
void clearArray()
void clearRow(qsizetype rowIndex)
QStringList columnLabels() const
QBarDataArray dataArray() &&
const QBarDataArray &dataArray() const &
QBarDataProxy *dataProxy() const
bool isValueColoringEnabled() const
float meshAngle() const
QList<QColor> rowColors() const
QStringList rowLabels() const
QPoint selectedBar() const
void setColumnLabels(const QStringList &labels)
void setDataArray(const QBarDataArray &newDataArray)
void setDataProxy(QBarDataProxy *proxy)
void setMeshAngle(float angle)
void setRowColors(const QList<QColor> &colors)
void setRowLabels(const QStringList &labels)
void setSelectedBar(QPoint position)
void setValueColoringEnabled(bool enabled)

信号

void columnLabelsChanged()
void dataArrayChanged(const QBarDataArray &array)
void dataProxyChanged(QBarDataProxy *proxy)
void meshAngleChanged(float angle)
void rowColorsChanged(const QList<QColor> &rowcolors)
void rowLabelsChanged()
void selectedBarChanged(QPoint position)
void valueColoringEnabledChanged(bool enabled)

静态公共成员

详细说明

该类管理系列的特定可视化元素以及系列数据(通过数据代理)。

关于代理与系列的关系,必须强调几个关键点。在这种情况下,数据存储在系列中,用户可以通过系列访问数据集。该系列由代理对象控制或表示。因此,代理可用于管理数据上的各种操作并更新实际数据集。不过,要编辑数据集,必须创建与该代理相关联的系列。

如果没有为系列明确设置数据代理,则系列会创建一个默认代理。设置其他代理将破坏现有代理和添加到系列中的所有数据。

QBar3DSeries 支持以下用于QAbstract3DSeries::setItemLabelFormat() 的格式标记:

行标题行轴标题
@colTitle列轴标题
@valueTitle来自值轴的标题
@rowIdx可见行索引。使用图形本地化。
@colIdx可见列索引。使用图形本地化。
@rowLabel行轴标签
@colLabel列轴标签
@valueLabel使用附加到图表的值坐标轴格式的项目值。更多信息,请参阅QValue3DAxis::labelFormat
@seriesName系列名称
%< 格式说明以指定格式显示的项目值。格式使用与QValue3DAxis::labelFormat 相同的规则。

例如

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

另请参阅 Qt Graphs 3D 数据处理Q3DGraphsWidgetItem::locale

属性文档

columnLabels : QStringList

此属性包含数组的可选列标签。

该数组中的索引与行中的列索引相匹配。如果列表比最长行短,则所有列都不会获得标签。

访问功能

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

通知信号

void columnLabelsChanged()

dataArray : QBarDataArray

系列的数据数组。

持有数据数组的引用。

dataArrayChanged 信号会在设置数据数组时发出,除非newDataArray 与前一个相同。

注意: 在对 dataArray 做任何操作之前,必须为相关代理创建一个系列。

访问功能:

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

Notifier 信号:

void dataArrayChanged(const QBarDataArray &array)

另请参阅 clearRow(qsizetype rowIndex) 和clearArray() 。

dataProxy : QBarDataProxy*

此属性保存活动数据代理。

该系列拥有任何设置给它的代理的所有权,并在添加新代理时删除任何以前设置的代理。代理不能为空或设置为其他系列。

访问功能:

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

通知信号:

void dataProxyChanged(QBarDataProxy *proxy)

meshAngle : float

该属性表示系列旋转角度(度)。

设置该属性相当于下面的调用:

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

注意: 读取该属性时,将使用浮点精度从QAbstract3DSeries::meshRotation 值计算,并始终返回 0 至 360 度的值。

访问功能:

float meshAngle() const
void setMeshAngle(float angle)

Notifier 信号:

void meshAngleChanged(float angle)

另请参见 QAbstract3DSeries::meshRotation

rowColors : QList<QColor>

该属性包含系列中的行颜色列表。

该属性可用于为系列中的行添加不同颜色。QGraphsTheme::ColorStyle 必须设置为QGraphsTheme::ColorStyle::Uniform 才能使用此属性。

访问功能:

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

Notifier 信号:

void rowColorsChanged(const QList<QColor> &rowcolors)

另请参阅 QGraphsTheme::ColorStyle::Uniform

rowLabels : QStringList

该属性用于保存数组的可选行标签。

该数组中的索引与数据数组中的行索引一致。如果列表短于行数,则所有行都不会获得标签。

访问功能

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

通知信号

void rowLabelsChanged()

selectedBar : QPoint

该属性用于保存所选系列中的条形图。

访问功能:

QPoint selectedBar() const
void setSelectedBar(QPoint position)

通知信号:

void selectedBarChanged(QPoint position)

[since 6.9] valueColoringEnabled : bool

使用给定值根据范围梯度为整个条形图着色

该属性可用于根据每个条形图的值和给定的范围梯度分别为其着色。QGraphsTheme::ColorStyle 必须设置为QGraphsTheme::ColorStyle::RangeGradient 才能使用此属性。

此属性在 Qt 6.9 中引入。

访问功能:

bool isValueColoringEnabled() const
void setValueColoringEnabled(bool enabled)

Notifier 信号:

void valueColoringEnabledChanged(bool enabled)

另请参阅 QGraphsTheme::ColorStyle::RangeGradient

成员函数文档

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

用父数据parent 构建条形 3D 系列。

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

用数据代理dataProxy 和父数据parent 构建条形三维序列。

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

删除条形 3D 系列。

void QBar3DSeries::clearArray()

清除现有数组。

void QBar3DSeries::clearRow(qsizetype rowIndex)

根据给定的rowIndex 清除数组中的现有记录。

[static] QPoint QBar3DSeries::invalidSelectionPosition()

返回选择的无效位置。将此位置设置为selectedBar 属性,可清除此系列中的选择。

另请参阅 Q3DGraphsWidgetItem::clearSelection().

void QBar3DSeries::setSelectedBar(QPoint position)

选择position 位置的条形图,该位置在系列数据数组中指定为行和列。

一次只能选择一个条形图。

要清除该系列的选择,invalidSelectionPosition() 设置为position

如果将此系列添加到图表中,图表会根据用户交互或选择无效的情况调整选择。选择另一个已添加系列上的条形图也会清除选择。

在所选条的行之前从系列中移除行或插入行都会调整选择,使同一条保持被选中。

注: 属性selectedBar 的设置函数。

另请参阅 selectedBar() 和Q3DGraphsWidgetItem::clearSelection()。

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