Qwt刻度尺系列解读---fromQwt-6.1.1
Qwt中,刻度尺scale很重要,也很简单美观,有直尺和环形比例尺等。
和直尺相关的类主要有:QwtScaleMap, QwtScaleDiv, QwtScaleDraw, QwtScaleWidget.
QwtScaleMap比例尺映射类提供了比例尺坐标系和绘图设备坐标系之间的映射关系,其主要的功能靠
QwtTransform类实现。
QwtScaleDiv标尺刻度分隔类,一个刻度尺的刻度划分包括起始值、主刻度、次刻度、最小刻度。多数
情况下,刻度划分由QwtScaleEngine的派生类自动计算。
QwtScaleDraw是绘制标尺类,它继承自抽象基类QwtAbstractScaleDraw,用于绘制普通直尺,
一个刻度尺由多个部分组成,由QwtAbstractScaleDraw::ScaleComponent定义:Backbone(主干)、
Ticks(刻度线)、Labels(标签)。
QwtScaleWidget类是标尺部件,用于显示绘制的标尺,继承自QWidget.
QwtScaleEngine是刻度尺引擎类
QwtTransform类用来转换坐标系统.
/
QwtScaleMap类参考:
公有成员函数:
• QwtScaleMap ()
• QwtScaleMap (const QwtScaleMap &)
• ∼QwtScaleMap ()
• QwtScaleMap & operator= (const QwtScaleMap &); //复制构造函数
• void setTransformation (QwtTransform ∗); //设置转换映射
• const QwtTransform ∗ transformation () const; //获取转换
• void setPaintInterval (double p1 , double p2); //设置绘图设备间隔边界
• void setScaleInterval (double s1 , double s2); //设置刻度尺间隔
• double transform (double s) const; //把刻度尺上间隔对应的点转换为绘图设备上的点
• double invTransform (double p) const; //转换一个绘图设备值为刻度尺的间隔值
• double p1 () const; //返回绘图间隔的第一个边界
• double p2 () const; //返回绘图间隔的第二个边界
• double s1 () const; //返回刻度尺间隔的第一个边界
• double s2 () const; //返回刻度尺间隔的第二个边界
• double pDist () const; //返回qwtAbs( p2() - p1() )
• double sDist () const; //返回qwtAbs( s2() - s1() )
• bool isInverting () const; //如果( p1() < p2() ) != ( s1() < s2() ), 返回true
静态公有成员函数:
• static QRectF transform (const QwtScaleMap &, const QwtScaleMap &, const QRectF &);
//将刻度尺中一个矩形转换到绘图坐标中.参数:x map, y map, 在刻度尺坐标中的矩形
• static QRectF invTransform (const QwtScaleMap &, const QwtScaleMap &, const QRectF &)
• static QPointF transform (const QwtScaleMap &, const QwtScaleMap &, const QPointF &)
• static QPointF invTransform (const QwtScaleMap &, const QwtScaleMap &, const QPointF &)
/
QwtScaleDiv类参考:
公有成员类型:
• enum TickType {
NoTick = -1, MinorTick,