
数据选择粒度
可以通过函数QCPAbstractPlottable::setSelectable(所有的图表类都继承自QCPAbstractPlottable)设置数据选择的粒度,如下图所示:

数据选择方式及数据读取
一般来说,数据选择是通过鼠标来进行的,即鼠标点击或者鼠标框选,鼠标点击选择通过函数 QCustomPlot::setInteractions 设置相应的枚举量即可,如果需要多选,则需要 QCustomPlot::setMultiSelectModifier 设置多选时使用的按键以及 setInteractions 设置枚举量包含 QCP::iMultiSelect ;而鼠标框选则通过 QCustomPlot::setSelectionRectMode 设置框选时的枚举类型为 srmSelect ,QCustomPlot还给了一个 srmCustom 类型让我们自定义框选时的行为,只需要连接 QCPSelectionRect::accepted 信号即可
已被选择的数据可以通过QCPAbstractPlottable::selection函数读取,其返回QCPDataSelection类,QCPDataSelection表现为多个选择范围的集合QList< QCPDataRange >,而QCPDataRange是单个数据选择的范围,包含被选择数据的开始位置以及结束位置(通俗的说就是下标index),注意这里遵循左闭右开原则

本文详细介绍了QCustomPlot中数据选择的多种方式,包括数据选择粒度的设置、选择方式及数据读取方法。同时,深入探讨了如何自定义数据选择的风格,包括画笔、画刷和散点图三种风格的应用。此外,文章还提供了完整的源码示例,展示了如何实现轴、图例和图表的多选,以及如何通过鼠标框选进行数据选择。
最低0.47元/天 解锁文章
1903





