Qwt使用总结,初步整理

最近研究了一些Qwt,至此总结Qwt的认识以便以后的备忘

从什么方面开始说起呢?
从这个类是什么?可以用来做什么?
关于Qwt的简介就不说了。主要说说其中用到的几个类吧

  1. QwtPlot
    是一个2D画图控件(Widget)。继承于QFramQwtPlotDict。严格的说来,它只是一个视图窗口,真正的绘制设备是它的中心部件QwtPlotCanvas类。在它的画布上可以显示无限定数量的图表项(Plot Item),图表项可以是一个曲线(QwtPlotCurve),标记(QwtPlotMarker ),网格(QwtPlotGrid)或者其它由QwtPlotItem派生出的控件。一个图表有四个坐标轴。分别有四个枚举变量对应(yLeft yRight xBottom xTopQwtPlotDict类是一个Item的字典,用于管理添加到QwtPlot上的所有图元项。它按照Z值的递增顺序组织items.Z值越大越显示在图表的最表面。所有由QwtPlotItem派生出的类需要使用item的attach函数依附到图表上。
  2. QwtPlotItem
    所有项的基类(base class for items)显示在图表的画布上。QwtPlotItem是一个抽象类,当你需要派生出一个新的QwtPlotItem类时,需要实现YourPlotItem::draw()方法。在draw中可以绘制你想要的图表项。比如说自定义背景图
  3. QwtPlotCurve
    通过此类中的构造函数来设置曲线的渲染方式(绘画反锯齿setRenderHint),设置曲线的颜色,曲线是否显示与坐标轴之间的矩形区域,用于绘制曲线,可以设置曲线与坐标轴之间的阴影部分。
  4. QwtLegend
    简单的图例,就是图表右上方的颜色方格+标签,可以实现图例的点击事件来达到是否显示图例对应曲线的效果。
  5. QwtScaleDraw
    用于自定义坐标轴的刻度绘制。比如:时间刻度轴。使用时继承QwtScaleDraw这个类,然后实现该类的label的虚函数,其中的参数v,猜测是通过engine计算而来的数值
  6. QwtSymbol 用于显示图表的标记,即每一个数据在图表上都会存在一个类型的标记。通过此类的构造函数中可以显示出各种各样的标记
  7. 一些问题的总结
setAxisMaxMajor(QwtPlot::xBottom,10);//设置坐标轴的最大间隔为10,也就是将一屏的刻度分为10个大间隔。
setAxisMaxMinor(QwtPlot::xBottom,10);//设置一个大间隔中显示1个小间隔,即不显示小刻度线。
//如果没有设置最大间隔,坐标轴的值会由于拖动,缩放等原因间隔会发生变化。
  • 通过QObject的startTimer函数启动一个计时器事件与timerEvent的事件函数对应。可以用来绘制动态曲线

关于Qwt的一些example的注释
CpuPlot 动态曲线
barchart柱形图

借鉴文章:
Qwt源码解读之QwtPlot类

  • 6
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值