gpt4 book ai didi

plot - QWT zoomer plus panner 连续重绘

转载 作者:行者123 更新时间:2023-12-02 02:06:34 30 4
gpt4 key购买 nike

我有一些 QWT 做一些小测试程序的经验,但现在我需要做一些专业的东西。

我有一个需要进行缩放和平移的情节。我安装了一个效果很好的缩放器并添加了一个平移器,但是当我平移缩放区域时,重新绘制在平移结束时工作正常,但在移动过程中,我只有最后一次重新绘制的图像,它在周围和两侧移动我有空白图像。无论如何我可以让它在移动时显示一个持续更新的图像(比如护目镜 map )?我意识到谷歌地图只是一个 jpg 图像,所以它不一样,但如果我能做到这一点,它看起来会更干净。谢谢。

最佳答案

这可能有效...

class CustomPanner: public QwtPlotPanner
{

public:
explicit CustomPanner(QWidget* parent) : QwtPlotPanner(parent){}

virtual bool eventFilter( QObject * object, QEvent * event)
{
if ( object == NULL || object != parentWidget() )
return false;

switch ( event->type() )
{
case QEvent::MouseButtonPress:
{
widgetMousePressEvent( static_cast<QMouseEvent *>( event ) );
break;
}
case QEvent::MouseMove:
{
QMouseEvent * evr = static_cast<QMouseEvent *>( event );
widgetMouseMoveEvent( evr );
widgetMouseReleaseEvent( evr );
setMouseButton(evr->button(), evr->modifiers());
widgetMousePressEvent( evr);
break;
}
case QEvent::MouseButtonRelease:
{
QMouseEvent * evr = static_cast<QMouseEvent *>( event );
widgetMouseReleaseEvent( static_cast<QMouseEvent *>( event ) );
break;
grab();
}
case QEvent::KeyPress:
{
widgetKeyPressEvent( static_cast<QKeyEvent *>( event ) );
break;
}
case QEvent::KeyRelease:
{
widgetKeyReleaseEvent( static_cast<QKeyEvent *>( event ) );
break;
}
case QEvent::Paint:
{
if ( isVisible() )
return true;
break;
}
default:;
}

return false;
}
};

现在使用 tihs 代替 PlotPanner

关于plot - QWT zoomer plus panner 连续重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14747959/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com