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

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

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

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

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

谢谢!

【问题讨论】:

    标签: c++ qt qwt


    【解决方案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))。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2010-12-04
      • 2021-02-12
      • 1970-01-01
      相关资源
      最近更新 更多