首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QWT移动帆布

QWT移动帆布
EN

Stack Overflow用户
提问于 2018-08-29 12:48:47
回答 1查看 607关注 0票数 1

我使用QWT库作为我的小部件,画布上有一些曲线,如下所示:

代码语言:javascript
复制
void Plot::addCurve1( double x, double y, const char *CurveName,
                      const char *CurveColor,const char *CurveType )
{
...
    *points1 << QPointF(x, y);
    curve1->setSamples( *points1 );
    curve1->attach( this );
...
}

所以,我所有的曲线都有相同的坐标系。我正在尝试构建导航界面,因此我可以将步骤放入TextEdit (例如)并使用这个步骤移动,或者我可以完成定义曲线的结束/开始。我在QwtPlotPanner类中找到了一种方法,这给了我这样的机会:

代码语言:javascript
复制
double QWT_widget::move_XLeft()
{
    //getting step from TextEdit
    QString xValStr = _XNavDiscrepancies->toPlainText();
    double xVal = xVal.toDouble();
    // moveCanvas(int dx, int dy) - the method of QwtPlotPanner
    plot->panner->moveCanvas(xVal,0);
    x_storage = x_storage - xVal;
    return x_storage;
}

所以它工作正常,但是位移以像素为单位,我需要把它粘到我定义的曲线上,它是坐标系。Qwt用户指南告诉我们:

根据dx/dy参数调整使能轴在x方向的dx像素偏移量,y方向上的dy像素偏移量

这是我找到的唯一信息。如何将像素级转换为坐标系统步骤?我需要走到曲线的末尾,所以我应该返回曲线的最后一个QPointF(x,y),并将它转换为像素步骤?还是我用错了课/方法?(非常感谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-01 16:57:35

感谢@Pavel:(https://ru.stackoverflow.com/a/876184/251026)

为了从像素转换到坐标和返回,有两种方法: QwtPlot::transform和QwtPlot::invTransform

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52077902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档