Suppose you have the following code:
QwtPlot *p = new QwtPlot(this); QwtPlotPicker *pp1 = new QwtPlotPicker(p->canvas()); pp1->setTrackerMode(QwtPicker::AlwaysOn); QwtPlotPicker *pp2 = new QwtPlotPicker(p->canvas()); pp2->setTrackerMode(QwtPicker::ActiveOnly); pp2->setEnabled(false);
What happens is that even though the pp1 picker is active, the last call to setMouseTracking() for the QwtPlot widget was made with a false parameter, so the pp1 picker will behave as if it was set to QwtPicker::ActiveOnly. In fact, it is a bit worse, as after the picker is used, the tracker text is left on the plot in the place the mouse select key was released.
In my oppinion, the right thing to do is:
That way, there would be no strange "initialization order side effects" and the picker setting that would be active would correspond to the enabled picker.
This behaviour is present in version 6.0.1, but last time I checked, the svn code will behave the same.