Okay,
The 2nd solution works perfectly for me, without error.
For the reference, mentioned the solution here,
{
public:
YourMarker( ... )
{
}
void updateScaleDiv( const QwtScaleDiv& xMap, const QwtScaleDiv& ) override
{
const double margin = ...; // pixels
const double min = xMap.invTransform( xMap.p1() + margin );
const double max = xMap.invTransform( xMap.p2() - margin );
setXValue( qBound( min, xValue(), max ) );
}
};
class YourMarker: public QwtPlotMarker
{
public:
YourMarker( ... )
{
setItemAttribute( QwtPlotItem::ScaleInterest, true );
}
void updateScaleDiv( const QwtScaleDiv& xMap, const QwtScaleDiv& ) override
{
const double margin = ...; // pixels
const double min = xMap.invTransform( xMap.p1() + margin );
const double max = xMap.invTransform( xMap.p2() - margin );
setXValue( qBound( min, xValue(), max ) );
}
};
To copy to clipboard, switch view to plain text mode
Thank you so much
Bookmarks