finally, annotation with interference check works.  Key was the map QwtPlot widget in advance.  Base QWidget underlaied QwtPlot has the size which was initially created.  QwtScaleMap will return wrong result due to device size is not correct.  This problem can be resolved by show window before get QwtScaleMap