![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
源码解读
e5Max
这个作者很懒,什么都没留下…
展开
-
Qwt源码解读之开篇记
最近突然有一种想研究Qwt源码的想法,一来通过解读源码深入学习Qwt库,掌握如何扩展一个库;二来通过对开源库源码的研究,向大师学习一些编程习惯和设计技巧。 Qwt全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可用来绘制各种统计图。目前版本为Qwt-6.0.1。http://qwt.sourceforge.ne原创 2013-04-17 21:20:56 · 4403 阅读 · 4 评论 -
Qwt源码解读之拾取操作类(二)
三、QwtPlotPicker类:QwtPlotPicker provides selections on a plot canvas.QwtPlotPicker is a QwtPicker tailored for selections on a plot canvas.It is set to a x-Axis and y-Axis and translates al原创 2013-04-27 20:39:50 · 5350 阅读 · 4 评论 -
Qwt源码解读之QwtIntervalSample类和QwtSetSample类
QwtIntervalSample类表征一个区间样点,即(dx, y)或者 (x, dy) [A sample of the types (x1-x2, y) or (x, y1-y2)]。代码分析://! \brief A sample of the types(x1-x2,y)or(x,y1-y2)class QWT_EXPORT QwtIntervalSample{public原创 2013-04-18 21:13:28 · 2410 阅读 · 0 评论 -
Qwt源码解读之QwtPlotItem类(一)
QwtPlotItem类是画布上所有图元的基类。QwtPlotItem是一个抽象基类,所有的实例图元必须实现YourPlotItem::draw()方法(纯虚函数)。具体的看看Qwt文档:Base class for items on the plot canvas.A plot item is "something", that can be painted on the plot ca原创 2013-04-26 15:19:06 · 6897 阅读 · 1 评论 -
Qwt源码解读之QwtPlotItem类(二)
Qwt框架提供了几种标准的图元实现。如网格(QwtPlotGrid类)、标签(QwtPlotMarker类)、标尺(QwtPlotScaleItem类)、显示SVG格式图形文件的图元(QwtPlotSvgItem类)、频谱图(QwtPlotSpectrogram类)、曲线(QwtPlotCurve类)、柱状图(QwtPlotHistogram类)、间隔区域(QwtPlotIntervalCurve原创 2013-04-26 18:37:37 · 13033 阅读 · 1 评论 -
Qwt源码解读之平移操作类
Qwt 提供了对图形部件的平移操作,其实就是在平移时,通过将图形绘制在另一个部件(QWidget)上实现了平移的效果(抓取)。这一切都是通过Qt的事件机制实现的。QwtPanner类:提供平移操作,像QRubberBand一样,其也是QWidget的子类。QwtPanner类被QwtPlotPanner类继承,用于对QwtPlotCanvas进行平移操作。继承关系如下图所示:先看一原创 2013-04-27 14:18:34 · 4498 阅读 · 4 评论 -
Qwt源码解读之QwtPainter类
QwtPainter类提供了QPainter类相关方法的集合,主要是对QPainter诸多方法的包装。代码分析:1)QwtPainter类定义了两个静态属性数据:private: static bool d_polylineSplitting; static bool d_roundingAlignment; 在cpp文件中对其进行了初始化:bool原创 2013-04-18 14:13:42 · 2497 阅读 · 0 评论 -
Qwt源码解读之QwtInterval 类
QwtInterval 类表征一个区间,这个区间由两个double类型的上限值max和下限值min所表示。它可以表示[min, max],[min, max),(min, max]和(min, max) 等4种情况。代码分析:class QWT_EXPORT QwtInterval{public: /*! Flag indicating if a border原创 2013-04-18 18:07:34 · 2729 阅读 · 0 评论 -
Qwt源码解读之QwtText类和QwtTextLabel类
QwtText类表征Qwt中的一段文本。与QString相比,QwtText包含了一系列怎样渲染文本的属性特征。通过指定这些属性,你可以绘制各种各样的文本样式。代码分析:1、接口示例: double heightForWidth( double width, const QFont & = QFont() ) const; // 根据指定的宽度给出最合适的高度 QSiz原创 2013-04-19 22:08:54 · 5020 阅读 · 0 评论 -
Qwt源码解读之QwtPlot类
QwtPlot类是一个二维绘图部件,继承自QFrame 和 QwtPlotDict。不过严格的说来,它只是一个视图窗口,真正的绘制设备是它的中心部件QwtPlotCanvas类。在QwtPlot的画布上可以显示不限数量的图元项(plot items)。这些图元项可以是曲线(QwtPlotCurve),标签(QwtPlotMarker),网格(QwtPlotGrid),或者其它任意的从QwtPlot原创 2013-04-26 12:48:03 · 12439 阅读 · 0 评论 -
Qwt源码解读之QwtSystemClock类和QwtSamplingThread类
QwtSystemClock类提供了一个高分辨率的时钟功能(依赖于特定的系统)。代码分析:class QWT_EXPORT QwtSystemClock{public: QwtSystemClock(); virtual ~QwtSystemClock(); bool isNull() const; void start(); doubl原创 2013-04-19 17:01:50 · 2758 阅读 · 0 评论 -
Qwt源码解读之QwtSpline类
QwtSpline类提供了样条插值算法。代码分析:1、 类接口定义:class QWT_EXPORT QwtSpline{public: //! Spline type enum SplineType { //! A natural spline Natural, //! A periodic spline原创 2013-04-18 22:25:03 · 2162 阅读 · 0 评论 -
Qwt源码解读之QwtPointPolar类
QwtPointPolar类表征极坐标系中的一个点。极坐标中的一个点由一个距离和角度决定,即(ds, angle)。其角度的单位为弧度。代码分析:1、/*! \brief A point in polar coordinates In polar coordinates a point is determined by an angle and原创 2013-04-18 17:28:10 · 2528 阅读 · 0 评论 -
Qwt源码解读之QwtLegend类
QwtLegend类表征一个示例图容器部件【The legend widget.】,继承自QFrame。其上面使用QwtDynGridLayout动态排列了多个示例图,每个示例图可以是任何类型的QWidget窗体部件,但通常是QwtLegendItem。代码分析:1、构造函数:/*! Constructor \param parent Parent widget*/Q原创 2013-04-22 11:16:05 · 6558 阅读 · 1 评论 -
Qwt源码解读之标尺相关类
Qwt中添加标尺是非常方便和漂亮的。除了有普通的直尺外,还有环形标尺。这里我们先学习一下直尺的相关类。直尺的相关类共有下面几个:1、QwtScaleMap:标尺值映射类。 QwtScaleMap类用于提供标尺坐标系与绘制设备坐标系之间的映射关系。其主要的功能依托 QwtScaleTransformation 类来实现。2、QwtScaleDiv:标尺刻度划分类。原创 2013-04-25 18:51:13 · 8956 阅读 · 2 评论 -
Qwt源码解读之缩放操作类
Qwt提供了自己的缩放机制。 QwtMagnifier类:提供逐步放大缩小功能的抽象基类。被QwtPlotMagnifier继承。继承关系如下图所示:代码分析:一、QwtMagnifier类1、构造函数:/*! Constructor \param parent Widget to be magnified*/QwtMagnifier::Qwt原创 2013-04-27 11:56:39 · 8509 阅读 · 4 评论 -
Qwt源码解读之拾取操作类(一)
Qwt提供了对图形的拾取操作。QwtEventPattern类:Qwt事件模式的集合。QwtEventPattern为鼠标和键盘的输入引入了一个间接层。它们可以用不同的符号名称来表示,因此应用代码可以通过单独的设置映射关系进行配置。QwtEventPattern类在初始化时定义了鼠标键,键盘键对应Qt中鼠标和键盘枚举变量的映射关系。当然,我们也可以通过属性设置接口重新指定它们的对应关系原创 2013-04-27 19:47:44 · 7576 阅读 · 0 评论 -
Qwt源码解读之QwtPickerMachine类
Qwt为拾取操作提供了状态机设置,用于控制拾取操作的不同行为。void setStateMachine( QwtPickerMachine * );其实现如下:/*! Set a state machine and delete the previous one \param stateMachine State machine \sa stateMachine()*/v原创 2013-04-28 16:01:13 · 3047 阅读 · 0 评论 -
Qwt源码解读之QwtClipper 类
QwtClipper 类提供了一些裁剪算法,均为静态函数。因此QwtClipper 类实际上是一个静态工具类,是全局函数的一个替代方案。Some clipping algos.具体说来包括三个算法:class QWT_EXPORT QwtClipper{public: static QPolygon clipPolygon( const QRect &,原创 2013-04-18 13:21:12 · 1804 阅读 · 0 评论 -
Qwt源码解读之QwtPoint3D类
QwtPoint3D 表征二维坐标系中的一个三维点(x, y, z)。代码分析:1、类接口定义:class QWT_EXPORT QwtPoint3D{public: QwtPoint3D(); // 默认构造函数 QwtPoint3D( double x, double y, double z ); // 三个参数的构造函数 QwtPoint3D(原创 2013-04-18 16:20:00 · 2287 阅读 · 0 评论 -
Qwt源码解读之QwtColorMap颜色类
QwtColorMap是一个抽象基类,用于将值映射到颜色。Qwt实现了其两个派生子类QwtLinearColorMap和QwtAlphaColorMap。继承关系如下:我们首先看看QwtColorMap的代码:class QWT_EXPORT QwtColorMap{public: /*! Format for color mapping原创 2013-04-22 18:18:29 · 4058 阅读 · 1 评论