Quote Originally Posted by Patrik View Post
One more question, how can I reset the scale engine?
I am not sure I know what you mean by "reset". When the axis scale is changed (by a zoom/pan/magnify or by an appplication call to QwtPlot::setAxisScale()), the scale engine's divideScale() should automatically be called by the framework when the plot is updated.

Perhaps you are having a problem because the QwtAbstractScaleDraw class caches the labels. In your QtScaleDraw class, after you change the label values call the invalidateCache() method (a protected method in QwtAbstractScaleDraw). This will force a recalculation of the labels. See my example code posted earlier.

You don't show it in your code, but if your scale draw class has a method for updating your label map (other than in the constructor), you should call invalidateCache() before exiting that method. Probably wouldn't hurt to do it in the constructor as well.