QAbstractBarSeries Class

QAbstractBarSeries 类是所有条形数列类的抽象父类。更多

公共类型

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 作为主柱形坐标轴,则柱形会围绕类别的索引值分组。

请参阅 "使用 Widgets 的图表图库",了解如何使用QBarSeries 类创建简单的条形图。

另请参阅 QBarSet,QBarSeries,QStackedBarSeries,QPercentBarSeries,QHorizontalBarSeries,QHorizontalStackedBarSeriesQHorizontalPercentBarSeries

成员类型文档

enum QAbstractBarSeries::LabelsPosition

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

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

属性文档

barWidth : qreal

此属性表示系列条形图的宽度。

宽度的单位是 x 轴的单位。条形图的最小宽度为零,负值视为零。将宽度设置为零意味着无论 x 轴的比例如何,屏幕上的条形图宽度都是一个像素。宽度大于零的条形图将使用 x 轴的比例进行缩放。

注: QBarSeries 一起使用时,该值指定的是一组条形图的宽度,而不是单个条形图的宽度。

访问功能:

qreal barWidth() const
void setBarWidth(qreal width)

另请参见 QBarSeries

[read-only] count : const 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)

Notifier 信号:

void labelsPositionChanged(QAbstractBarSeries::LabelsPosition position)

另请参阅 labelsVisiblelabelsFormat

labelsPrecision : int

该属性用于保存数值标签中显示的最大有效位数。

默认值为 6。

访问功能:

int labelsPrecision() const
void setLabelsPrecision(int precision)

通知信号:

void labelsPrecisionChanged(int precision)

labelsVisible : bool

该属性用于设置条形图系列中标签的可见性。

访问功能:

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

Notifier 信号:

成员函数 文档

[virtual noexcept] QAbstractBarSeries::~QAbstractBarSeries()

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

bool QAbstractBarSeries::append(QBarSet *set)

set 指定的一组条形图添加到条形图系列并获得其所有权。如果数据集为空或已属于系列,则不会添加。如果添加成功,则返回true

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

sets 指定的条形图组列表添加到条形图系列中,并取得图组的所有权。如果所有集合都已成功添加,则返回true 。如果其中任何数据集为空或之前已添加到系列中,则不会添加任何数据集,函数返回false 。如果任何数据集在列表中出现不止一次,则不会添加任何数据集,此函数返回false

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

返回条形图系列中的条形图组列表。保留条形图组的所有权。

qreal QAbstractBarSeries::barWidth() const

返回系列条形图的宽度。

注: 属性 barWidth 的获取函数。

另请参阅 setBarWidth().

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

sets 指定的条形集被添加到系列中时,将发出该信号。

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

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

sets 指定的条形集从系列中移除时,将发出该信号。

另请参见 remove().

void QAbstractBarSeries::clear()

删除系列中的所有条形码组并永久删除它们。

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

当用户点击barset 指定的条形图集中index 指定的条形图时,将发出该信号。

int QAbstractBarSeries::count() const

返回条形图系列中的条形图组数。

注: 属性计数的获取函数。

[signal] void QAbstractBarSeries::countChanged()

当条形图组数量发生变化时,例如通过append() 或remove() 更改条形图组数量时,将发出该信号。

注: 属性count 的通知信号。

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

当用户在barset 指定的条形图集中双击index 指定的条形图时,将发出该信号。

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

当鼠标悬停在barset 指定的条形图集中index 指定的条形图上时,就会发出该信号。当鼠标移动到条形图上时,status 变成true ,当鼠标再次移开时,变成false

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

index 指定的位置将set 指定的条形图集插入系列,并获得该图集的所有权。如果数据集为空或已属于序列,则不会被添加。如果插入成功,则返回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 的通知信号。

[signal] void QAbstractBarSeries::labelsVisibleChanged()

当标签的可见性发生变化时会发出该信号。

注: 属性labelsVisible 的通知信号。

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

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

当用户在barset 指定的条形图集中点击index 指定的条形图并按住鼠标键时,就会发出该信号。

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

当用户在barset 所指定的条形图集合中按下index 所指定的条形图时释放鼠标时,就会发出该信号。

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

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