BarSeries QML Type
以柱状图形式展示数据。更多...
| Import Statement: | import QtGraphs |
| In C++: | QBarSeries |
| Inherits: |
- 所有成员的列表,包括继承的成员
- BarSeries 是Qt Graphs 2D QML 类型库的一部分。
属性
- barDelegate : Component
- barSets : list<BarSet>
- barWidth : real
- barsType : enumeration
- borderColors : list<color>
- count : int
- labelsAngle : real
- labelsFormat : string
- labelsMargin : real
- labelsPosition : enumeration
- labelsPrecision : real
- labelsVisible : bool
- seriesColors : list<color>
信号
- barsetsAdded()
- barsetsRemoved()
- clicked(int index, BarSet barset)
- doubleClicked(int index, BarSet barset)
- pressed(int index, BarSet barset)
- released(int index, BarSet barset)
方法
- bool append(BarSet barset)
- BarSet at(int index)
- Barset at(int index)
- void clear()
- int find(BarSet barset)
- BarSet insert(int index, BarSet barset)
- bool remove(BarSet barset)
- bool remove(int index)
- void removeMultiple(int index, int count)
- bool replace(list<BarSet> sets)
- bool replace(BarSet oldSet, BarSet newSet)
- bool replace(int index, BarSet barset)
详细说明
默认将数据绘制为按类别分组的条形图系列,该系列中每个类别都会从对应的条形图集添加一个条形。此外,还支持水平条形图以及将条形图分组为堆叠条形图。
属性文档
barDelegate : Component
一个用于可视化每个条形的自定义 QML 组件。每个条形都会创建该组件的一个实例。如果未定义该组件,则使用条形的默认矩形可视化效果。
该组件可用的动态属性包括:
| 类型 | 名称 | 描述 |
|---|---|---|
| color | barColor | 条形的填充颜色。该值来自GraphsTheme ,或者如果BarSet 覆盖了颜色,则来自BarSet::color 。 |
| 颜色 | barBorderColor | 条形的边框颜色。该值来自GraphsTheme ,若BarSet 覆盖了颜色,则来自BarSet::borderColor 。 |
| real | barBorderWidth | 条形边框的宽度。该值来自GraphsTheme ,若BarSet 覆盖了宽度,则来自BarSet::borderWidth 。 |
| real | barValue | 条形图的数值。该值来自BarSet::values 。 |
| 字符串 | barLabel | 条形图的标签。该值来自BarSet::label 。 |
| bool | barSelected | 当条形被选中时,此值为 true,这意味着该条形的索引位于BarSet::selectedBars 中。 |
| int | barIndex | K线索引,范围从 0 到 K线总数减 1。[自 6.9 版起] |
要使用这些属性,请在自定义组件中添加名称与上述定义一致的属性。例如"property color barColor" 和"property real barValue" 。
barSets : list<BarSet> [read-only]
该系列新增的套装列表。
barWidth : real
宽度的单位即为x轴的单位。柱状图的最小宽度为零,负值将被视为零。将宽度设置为零意味着,无论x轴的比例如何,柱状图在屏幕上的宽度均为1像素。宽度大于零的柱状图将根据x轴的比例进行缩放。
默认情况下,barWidth 为 0.5(柱形将占据可用宽度的 50%)。有效值范围为 0.0(0%)到 1.0(100%)。
注意:当与 BarSeries 类型配合使用时, 此值指定的是一组条形图的宽度,而非单个条形图的宽度。
barsType : enumeration
条形系列类型:
| 常数 | 描述 |
|---|---|
BarSeries.BarsType.Groups | 条形图集按类别分组。这是默认值。 |
BarSeries.BarsType.Stacked | 条形图集按类别依次堆叠显示。 |
BarSeries.BarsType.StackedPercent | 条形图组按类别依次堆叠。每个条形的大小对应该条形值占堆叠中所有条形总值的百分比。 |
borderColors : list<color>
该系列中所有对象将使用的边框颜色列表。
如果系列数量多于颜色数量,颜色列表将循环,并从列表中的第一种颜色开始重新排列。如果未设置此选项(默认),将使用GraphsTheme::borderColors 中的颜色。
count : int [read-only]
条形图系列中的条形组数量。
labelsAngle : real
值标签的角度(单位:度)。
labelsFormat : string
用于在条形图系列中显示标签的格式。
另请参阅 QBarSeries::labelsFormat 、labelsVisible 以及labelsPosition 。
labelsMargin : real
值标签的边距(以像素为单位)。
当labelsPosition 的值不为LabelsPosition.Center 时,将使用此侧边距。默认值为0 。
labelsPosition : enumeration
数据值标签的位置:
| 常量 | 描述 |
|---|---|
BarSeries.LabelsPosition.Center | 标签位于条形图的中央。 |
BarSeries.LabelsPosition.InsideEnd | 标签位于柱形图内部的顶部。 |
BarSeries.LabelsPosition.InsideBase | 标签位于柱形图内部的底部。 |
BarSeries.LabelsPosition.OutsideEnd | 标签位于条形图顶部外部。 |
另请参阅 labelsVisible 和labelsFormat 。
labelsPrecision : real
值标签中显示的有效数字位数上限。
默认值为 6。
labelsVisible : bool
条形图系列中标签的可见性。标签的默认可见性为false 。
注意: 默认标签 仅显示该数据集的数值。您可以通过barDelegate 创建自定义标签。
另请参阅 barDelegate 。
seriesColors : list<color>
该系列中所有对象将使用的基础颜色列表。
如果系列数量多于颜色数量,颜色列表将循环显示,并从列表中的第一种颜色重新开始。如果未设置此选项(默认),则将使用GraphsTheme::seriesColors 中的颜色。
Signal 文档
barsetsAdded()
当向系列中添加柱形数据集时,会触发此信号。
注意: 相应的处理程序 为onBarsetsAdded 。
barsetsRemoved()
当从系列中移除柱形数据集时,会发出此信号。
注意: 相应的处理程序 为onBarsetsRemoved 。
clicked(int index, BarSet barset)
当用户点击或轻触由 `index ` 指定的、位于由 `barset` 指定的条形集合中的条形时,会触发此信号。
注意: 相应的处理程序 为onClicked 。
doubleClicked(int index, BarSet barset)
当用户双击或双点由 `index ` 指定的、位于由 `barset` 指定的条形集合中的条形时,会发出此信号。此信号总是在 `clicked` 之后发生。
注意: 对应的处理程序 是onDoubleClicked 。
pressed(int index, BarSet barset)
当用户在由barset 指定的条形控件集中,点击或轻触由index 指定的条形控件,并按住鼠标按钮或手势时,会触发此信号。
注意: 相应的处理程序 为onPressed 。
released(int index, BarSet barset)
当用户在由barset 指定的条形控件集中,松开先前按下的鼠标按钮或在由index 指定的条形控件上执行手势时,会触发此信号。
注意: 相应的处理程序 为onReleased 。
方法文档
bool append(BarSet barset)
将由 `barset ` 指定的柱状图集合添加到柱状图系列中,并将其所有权移交该系列。如果该集合为空,或者它已经属于该系列,则不会将其追加。
若追加成功,则返回 `true `。
另请参阅 insert()。
BarSet at(int index)
返回在index 处设置的条形。如果索引无效,则返回null。
Barset at(int index)
返回该系列中由index 指定的柱形集合。否则返回null 。
void clear()
从该组中移除所有杠铃组。
int find(BarSet barset)
返回序列中由barset 指定的柱形图集的索引。若未找到,则返回-1 。
BarSet insert(int index, BarSet barset)
将由barset 指定的柱状图集合插入到系列中,插入位置由index 指定。如果该集合为null 或已属于该系列,则不会将该集合追加到系列中。若插入成功,则返回true 。
另请参阅 append()。
bool remove(BarSet barset)
从系列中移除由 `barset ` 指定的柱状图集。如果操作成功,返回 `true `;否则返回 `false `。
bool remove(int index)
从系列中移除由index 指定的柱形图组。如果移除成功,则返回true ;否则返回false 。
void removeMultiple(int index, int count)
删除由index 和count 指定的条形图集合范围。即使其中一个集合的删除操作失败,该调用仍会遍历所有集合。
bool replace(list<BarSet> sets)
完全替换当前所有条形数据集为sets 。尺寸无需匹配。如果sets 中任何一个条形数据集无效,则返回 false。
bool replace(BarSet oldSet, BarSet newSet)
将由 `oldSet ` 指定的条形集替换为 `newSet`。若移除成功,则返回 `true `;否则返回 `false `。若操作成功,则 `oldSet ` 将被销毁。
bool replace(int index, BarSet barset)
将序列中位于index 指定位置的柱状图替换为barset 。若操作成功,返回true ;否则返回false 。
© 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.