继承关系图:
下面的源码只列出了可以通过外部设置的或者需要重写的函数,从熟练使用的角度去讲,了解这些应该够了。
class QWT_EXPORT QwtAbstractScaleDraw
{
public:
/*!
Components of a scale
\sa enableComponent(), hasComponent
*/
enum ScaleComponent
{
//! Backbone = the line where the ticks are located
Backbone = 0x01,
//! Ticks
Ticks = 0x02,
//! Labels
Labels = 0x04
};
QwtAbstractScaleDraw();
virtual ~QwtAbstractScaleDraw();
void setScaleDiv( const QwtScaleDiv &s );
void setTransformation( QwtTransform * );
void setTickLength( QwtScaleDiv::TickType, double length );
void setSpacing( double margin );
void setPenWidth( int width );
virtual void draw( QPainter *, const QPalette & ) const;
virtual QwtText label( double ) const;
/*!
Calculate the extent
The extent is the distance from the baseline to the outermost
pixel of the scale draw in opposite to its orientation.
It is at least minimumExtent() pixels.
\param font Font used for drawing the tick labels
\return Number of pixels
\sa setMinimumExtent(), minimumExtent()
*/
virtual double extent( const QFont &font ) const = 0;
void setMinimumExtent( double );
protected:
virtual void drawTick( QPainter *painter, double value, double len ) const = 0;
virtual void drawBackbone( QPainter *painter ) const = 0;
virtual void drawLabel( QPainter *painter, double value ) const = 0;
......
};