QwtAbstractScaleDraw

继承关系图:

QwtAbstractScaleDraw_第1张图片

 

下面的源码只列出了可以通过外部设置的或者需要重写的函数,从熟练使用的角度去讲,了解这些应该够了。

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;

    ......
};

你可能感兴趣的:(Qwt)