qwt 在重新缩放或缩放光标后绘制移动曲线

Posted

技术标签:

【中文标题】qwt 在重新缩放或缩放光标后绘制移动曲线【英文标题】:qwt plot move curve after rescale or zoom on cursor 【发布时间】:2016-10-14 15:25:21 【问题描述】:

我在绘图中有一条经典曲线,我想通过鼠标滚轮事件在光标位置设置缩放。 为此,我想:

设置重新缩放:QwtPlotMagnifier::rescale(factor); (这已经完成并且有效)

将绘图的中心设置为光标的位置(我可以在这部分、文档、*** 或其他网站上找到任何内容)

我不知道是否有其他方法可以继续,如果您有任何建议..

谢谢!

【问题讨论】:

【参考方案1】:

所以我找到了一个完美的解决方案,我终于设置了一个像谷歌地图缩放一样的缩放。

解决办法是:

在绘图放大镜中捕捉小部件轮事件 在绘图放大镜中创建私有方法rescale_on_cursor(double factor, int x_cursor, int y_cursor, QSize parent_size)

在小部件轮事件中,您将调用您的方法。该因子将是 0,9 或 1,1(取消缩放或缩放),(x, y) 光标位置和 QSize 父窗口小部件的大小。

主要思想是派生 qwt_plotMagnifier::rescale() 并修改定义新比例的步骤,您将设置比例的百分比,该百分比等于光标位置的百分比。

如果 x_cursor 等于父尺寸的 20%,您将设置 AxisScale(20%(zoom), 80%(zoom))。

【讨论】:

以上是关于qwt 在重新缩放或缩放光标后绘制移动曲线的主要内容,如果未能解决你的问题,请参考以下文章

QWT zoomer plus panner 连续重绘

qwt plot - 如何根据鼠标光标进行缩放

Qwt 绘图自动缩放不起作用

Qt的QChartView实现缩放和放大功能

Qwt 仅重新绘制特定区域

急!!!qwt曲线超过坐标轴范围 坐标轴却不会自动放大,已经有设置坐标轴自动缩放了