QtChart 启用缩放功能setRubberBand()之后,setRange(min, max)出现的问题

QtChart 启用缩放功能setRubberBand()之后,setRange(min, max)出现的问题

因项目需要,用qtchart绘制的图形需要框选放大,这里用到了setRubberBand()函数,但是在左键复原的时候出现了问题。
先铺垫一下,博主是重写了chartview的鼠标事件的mouserelease(event)来触发复原的信号。
复原的原理:记录初始时的坐标轴的range,接收到复原信号后,将原坐标轴重置setRange()即可。

问题来了

先来看看初始时的图形:
在这里插入图片描述
所有波形的时间轴为一样的,通过框选任意波形选择框选的时间轴将所有波形全部放大,
在这里插入图片描述
通过点击鼠标左键复原
在这里插入图片描述
图中随便点击哪个波形,需要是要所有波形恢复正常,这时问题出现了,除了被点击的波形之外其他波形都恢复正常,此时右键点击其他波形,第一个波形恢复正常,被点击的波形出现同样的问题。
经过梳理发现问题可能就出现在setRubberBand()上,通过查询果不其然,上段文档

[virtual protected] void QChartView::mouseReleaseEvent(QMouseEvent *event)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值