PDA

View Full Version : QwtPlotZoomer keypatterns



WoldemarShiPa
13th December 2013, 09:17
Hello. I'm developing program with QwtPlot and subclass of QwtPlotZoomer. I decided to add keyboard zooming ability alongside with mouse, but it didn't work while mouse zooming worked perfectly


zoom->setMousePattern( QwtEventPattern::MouseSelect1, Qt::LeftButton); // zoom selection
zoom->setMousePattern( QwtEventPattern::MouseSelect2, Qt::LeftButton, Qt::ControlModifier ); // zoom out to full size
zoom->setMousePattern( QwtEventPattern::MouseSelect3, Qt::LeftButton, Qt::AltModifier ); // zoom out to previous size
zoom->setMousePattern( QwtEventPattern::MouseSelect6, Qt::LeftButton, Qt::ControlModifier | Qt::AltModifier ); // zoom in to nex size
zoom->setKeyPattern( QwtEventPattern::KeyRedo, Qt::Key_I, Qt::ShiftModifier );
zoom->setKeyPattern( QwtEventPattern::KeyUndo, Qt::Key_O, Qt::ShiftModifier );
zoom->setKeyPattern( QwtEventPattern::KeyHome, Qt::Key_Home );
//zoom->setObjectName(QStringLiteral("%1").arg(listCurrTabGraphs.count() + 1));
zoom->setZoomBase(true);
zoom->setEnabled(false);
zoom->setEnabled(true);
zoom->canvas()->installEventFilter(this);


I installed eventFilter and saw that KeyPress events not rising

I created test application with this 2 widgets only and it worked. I have no idea how to handle this error.

Uwe
17th December 2013, 07:23
Maybe with overloading QApplication::notify() you can find out where your events get lost.

Uwe