我在绘图中有一条经典曲线,我想用滚轮鼠标事件在光标位置设置缩放。 为此,我想:
设置rescale:QwtPlotMagnifier :: rescale(factor); (这已经完成并且有效)
将我的绘图中心设置到我的光标位置(我在这部分,文档,stackoverflow或其他网站上找到任何内容)
我不知道是否有其他方法可以继续,如果您有任何建议......
谢谢!
答案 0 :(得分:0)
所以我找到了一个完美的解决方案,我最终设置了像谷歌地图缩放一样的缩放。
解决方案是:
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%(缩放),80%(缩放))。