本页内容

QAbstractBarSeries Class

QAbstractBarSeries 类是所有条形图系列类的抽象父类。更多内容...

Header: #include <QAbstractBarSeries>
In QML: AbstractBarSeries
Inherits: QAbstractSeries
Inherited By:

QBarSeries, QHorizontalBarSeries, QHorizontalPercentBarSeries, QHorizontalStackedBarSeries, QPercentBarSeries, and QStackedBarSeries

Status: Deprecated

该类已弃用。我们强烈建议不要在新代码中使用它。

公共类型

enum LabelsPosition { LabelsCenter, LabelsInsideEnd, LabelsInsideBase, LabelsOutsideEnd }

属性

公共函数

virtual ~QAbstractBarSeries()
bool append(QBarSet *set)
bool append(const QList<QBarSet *> &sets)
QList<QBarSet *> barSets() const
qreal barWidth() const
void clear()
int count() const
bool insert(int index, QBarSet *set)
bool isLabelsVisible() const
qreal labelsAngle() const
QString labelsFormat() const
QAbstractBarSeries::LabelsPosition labelsPosition() const
int labelsPrecision() const
bool remove(QBarSet *set)
void setBarWidth(qreal width)
void setLabelsAngle(qreal angle)
void setLabelsFormat(const QString &format)
void setLabelsPosition(QAbstractBarSeries::LabelsPosition position)
void setLabelsPrecision(int precision)
void setLabelsVisible(bool visible = true)
bool take(QBarSet *set)

信号

void barsetsAdded(const QList<QBarSet *> &sets)
void barsetsRemoved(const QList<QBarSet *> &sets)
void clicked(int index, QBarSet *barset)
void countChanged()
void doubleClicked(int index, QBarSet *barset)
void hovered(bool status, int index, QBarSet *barset)
void labelsAngleChanged(qreal angle)
void labelsFormatChanged(const QString &format)
void labelsPositionChanged(QAbstractBarSeries::LabelsPosition position)
void labelsPrecisionChanged(int precision)
void labelsVisibleChanged()
void pressed(int index, QBarSet *barset)
void released(int index, QBarSet *barset)

详细说明

在条形图中,条形被定义为包含每个类别一个数据值的条形集。条形的位置由类别决定,其高度由数据值决定。包含多个条形集的条形序列会将属于同一类别的条形分组在一起。 条形图的显示方式由创建条形图时所选的该类的子类决定。

如果主条形轴使用QValueAxis 代替QBarCategoryAxis ,则条形将围绕类别的索引值进行分组。

请参阅“带小部件的图表”图库,了解如何使用QBarSeries 类创建简单的条形图。

将1月至6月期间五人的月度数据分组显示的竖条形图

另请参阅: QBarSet 、QBarSeries 、QStackedBarSeries 、QPercentBarSeries 、QHorizontalBarSeries 、QHorizontalStackedBarSeries 以及QHorizontalPercentBarSeries 。

成员类型文档

enum QAbstractBarSeries::LabelsPosition

此枚举值描述了数据值标签的位置:

常量值描述
QAbstractBarSeries::LabelsCenter0标签位于条形图的中心。
QAbstractBarSeries::LabelsInsideEnd1标签位于条形上方内部。
QAbstractBarSeries::LabelsInsideBase2标签位于条形图内部的底部。
QAbstractBarSeries::LabelsOutsideEnd3标签位于条形上方外部。

属性文档

barWidth : qreal

该属性用于设置该系列柱状图的宽度。

宽度的单位与 x 轴的单位相同。条形图的最小宽度为零,负值将被视为零。将宽度设置为零意味着,无论 x 轴的缩放比例如何,屏幕上的条形宽度均为 1 像素。宽度大于零的条形将根据 x 轴的缩放比例进行缩放。

注意:当与 QBarSeries 配合使用时, 此值指定的是一组条形图的宽度,而非单个条形图的宽度。

访问函数:

qreal barWidth() const
void setBarWidth(qreal width)

另请参阅 QBarSeries 。

[read-only] count : int

该属性存储条形系列中的条形组数量。

访问函数:

int count() const

通知信号:

void countChanged()

labelsAngle : qreal

该属性存储值标签的角度(单位为度)。

访问函数:

qreal labelsAngle() const
void setLabelsAngle(qreal angle)

通知信号:

void labelsAngleChanged(qreal angle)

labelsFormat : QString

此属性用于指定条形图系列中标签的显示格式。

QAbstractBarSeries 支持以下格式标签:

@value条形图的数值

例如,以下格式标签的使用方式将生成先显示数值、后显示单位(u)的标签:

series->setLabelsFormat("@value u");

默认情况下,标签显示柱形的数值。对于百分比柱形系列,数值后会自动添加% 符号。标签显示在绘图区域内,如果柱形彼此靠近,标签可能会重叠。

访问函数:

QString labelsFormat() const
void setLabelsFormat(const QString &format)

通知信号:

void labelsFormatChanged(const QString &format)

另请参阅 labelsVisible 、labelsPosition 以及labelsPrecision 。

labelsPosition : LabelsPosition

该属性用于指定数值标签的位置。

访问函数:

QAbstractBarSeries::LabelsPosition labelsPosition() const
void setLabelsPosition(QAbstractBarSeries::LabelsPosition position)

通知信号:

void labelsPositionChanged(QAbstractBarSeries::LabelsPosition position)

另请参阅 labelsVisible 和labelsFormat 。

labelsPrecision : int

此属性用于指定值标签中显示的有效数字位数上限。

默认值为 6。

访问函数:

int labelsPrecision() const
void setLabelsPrecision(int precision)

通知信号:

void labelsPrecisionChanged(int precision)

labelsVisible : bool

该属性控制条形图系列中标签的可见性。

访问函数:

bool isLabelsVisible() const
void setLabelsVisible(bool visible = true)

通知信号:

成员函数文档

[virtual noexcept] QAbstractBarSeries::~QAbstractBarSeries()

删除该抽象条形系列及其拥有的条形集。

bool QAbstractBarSeries::append(QBarSet *set)

将由set 指定的柱形图集合添加到柱形图系列中,并将其所有权转移至该系列。如果该集合为空,或者它已经属于该系列,则不会将其追加。如果追加成功,则返回true 。

bool QAbstractBarSeries::append(const QList<QBarSet *> &sets)

将由 `sets ` 指定的柱形图集合列表添加到柱形图序列中,并接管这些集合的所有权。 如果所有集合均已成功追加,则返回true 。如果任何集合为null或此前已追加到该系列中,则不会追加任何内容,且本函数返回false 。如果列表中存在重复的集合,则不会追加任何内容,且本函数返回false 。

QList<QBarSet *> QAbstractBarSeries::barSets() const

返回一个条形系列中的条形集列表。保留对这些条形集的所有权。

qreal QAbstractBarSeries::barWidth() const

返回该系列柱状图的宽度。

注意: 这是 barWidth 属性的获取 函数。

另请参阅 setBarWidth()。

[signal] void QAbstractBarSeries::barsetsAdded(const QList<QBarSet *> &sets)

当将sets 中指定的K线添加到系列中时,会发出此信号。

另请参阅 append() 和insert()。

[signal] void QAbstractBarSeries::barsetsRemoved(const QList<QBarSet *> &sets)

当系列中删除了由 `sets ` 指定的柱状图时,会发出此信号。

另请参阅 remove()。

void QAbstractBarSeries::clear()

从该系列中移除所有柱状图集,并永久删除它们。

[signal] void QAbstractBarSeries::clicked(int index, QBarSet *barset)

当用户点击由 `index ` 指定的、位于由 `barset` 指定的条形集合中的条形时,会触发此信号。

int QAbstractBarSeries::count() const

返回柱状图系列中的柱状图组数量。

注意: 这是对 count 属性的获取 函数。

[signal] void QAbstractBarSeries::countChanged()

当条形集的数量发生变化时(例如通过调用append() 或remove()),会发出此信号。

注意: 这是属性count的通知器 信号。

[signal] void QAbstractBarSeries::doubleClicked(int index, QBarSet *barset)

当用户双击由 `index ` 指定的、位于由 `barset` 指定的条形集合中的条形时,会触发此信号。

[signal] void QAbstractBarSeries::hovered(bool status, int index, QBarSet *barset)

当鼠标悬停在由 `index ` 指定的、位于 `barset` 指定的条形图集中的条形上时,将触发此信号。当鼠标移过该条形时,`status ` 将变为 `true`;当鼠标再次移开时,它将变为 `false`。

bool QAbstractBarSeries::insert(int index, QBarSet *set)

将由set 指定的柱状图数据集插入到系列中,插入位置由index 指定,并取得该数据集的所有权。如果该数据集为空或已属于该系列,则不会将其追加。若插入成功,则返回true 。

bool QAbstractBarSeries::isLabelsVisible() const

返回标签的可见性。

注意: 这是属性 `labelsVisible`的获取 函数。

[signal] void QAbstractBarSeries::labelsAngleChanged(qreal angle)

当值标签的angle 发生变化时,会发出此信号。

注意: 这是属性labelsAngle的通知器 信号。

[signal] void QAbstractBarSeries::labelsFormatChanged(const QString &format)

当数据值标签的format 发生变化时,会发出此信号。

注意: 这是属性labelsFormat的通知器 信号。

[signal] void QAbstractBarSeries::labelsPositionChanged(QAbstractBarSeries::LabelsPosition position)

当属性position 的值发生变化时,会触发此信号。

注意: 这是属性labelsPosition 的通知器 信号。

[signal] void QAbstractBarSeries::labelsPrecisionChanged(int precision)

当值标签的precision 发生变化时,会触发此信号。

注意: 这是属性labelsPrecision 的Notifier 信号。

[signal] void QAbstractBarSeries::labelsVisibleChanged()

当标签的可见性发生变化时,会触发此信号。

注意: 这是属性labelsVisible 的Notifier 信号。

另请参阅 isLabelsVisible() 和setLabelsVisible()。

[signal] void QAbstractBarSeries::pressed(int index, QBarSet *barset)

当用户点击由index 指定的、位于由barset 指定的条形集合中的条形,并按住鼠标按钮时,会触发此信号。

[signal] void QAbstractBarSeries::released(int index, QBarSet *barset)

当用户松开鼠标按钮,且该按钮位于由 `index ` 指定的、属于由 `barset` 指定的条形集合中的某个条形上时,将触发此信号。

bool QAbstractBarSeries::remove(QBarSet *set)

从系列中移除由set 指定的条形数据集,若移除成功则永久删除该数据集。若数据集已被移除,则返回true 。

void QAbstractBarSeries::setBarWidth(qreal width)

将该系列的柱宽设置为width 。

注意: 这是属性barWidth 的设置 函数。

另请参阅 barWidth()。

void QAbstractBarSeries::setLabelsVisible(bool visible = true)

将条形系列中标签的可见性设置为visible 。

注意: 这是属性labelsVisible 的设置 函数。

另请参阅 isLabelsVisible()。

bool QAbstractBarSeries::take(QBarSet *set)

从系列中获取单个set 。不会删除该条形集对象。

注意:该系列 仍为小节集的父对象。您必须将父对象设置为完全拥有者。

如果提取操作成功,则返回true 。

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