QwtPicker:通过箭头键禁用光标移动

Posted

技术标签:

【中文标题】QwtPicker:通过箭头键禁用光标移动【英文标题】:QwtPicker: disable movement of cursor via arrow keys 【发布时间】:2017-07-04 13:29:57 【问题描述】:

根据 QwtPicker 的Qwt documentation(它是我正在使用的类 QwtPlotZoomer 的超类),可以使用箭头键移动光标:

The cursor can be moved using the arrow keys

但是,我不想禁用它,因为箭头键在我的应用程序中有不同的用途。

这可以通过 API 实现吗?否则我需要继承我的 QwtPlotZoomer..

【问题讨论】:

【参考方案1】:

好的,刚刚覆盖了QwtPicker的相关函数,这工作正常。

class MyQwtPlotZoomer : public QwtPlotZoomer

    public:
        MyQwtPlotZoomer(int xAxis, int yAxis,  QwtPlotCanvas* canvas, bool doReplot = true) : QwtPlotZoomer(xAxis, yAxis, canvas, doReplot) 

        virtual ~MyQwtPlotZoomer() 

    protected:
        virtual void widgetKeyPressEvent(QKeyEvent* ke)
        
            if ( !isActive() )
            
                if ( keyMatch( KeyUndo, ke ) )
                    zoom( -1 );
                else if ( keyMatch( KeyRedo, ke ) )
                    zoom( +1 );
                else if ( keyMatch( KeyHome, ke ) )
                    zoom( 0 );
            
        

        virtual void widgetKeyReleaseEvent(QKeyEvent*) 
;

【讨论】:

以上是关于QwtPicker:通过箭头键禁用光标移动的主要内容,如果未能解决你的问题,请参考以下文章

如何使用外部键盘在屏幕键盘中移动光标?

Vim指令

Linux-vim使用

vim常用快捷汇总

vi/vim使用总结

vim命令总结