Qwt使用总结,初步整理
最近研究了一些Qwt,至此总结Qwt的认识以便以后的备忘
从什么方面开始说起呢?
从这个类是什么?可以用来做什么?
关于Qwt的简介就不说了。主要说说其中用到的几个类吧
- QwtPlot
是一个2D画图控件(Widget
)。继承于QFram
和QwtPlotDict
。严格的说来,它只是一个视图窗口,真正的绘制设备是它的中心部件QwtPlotCanvas
类。在它的画布上可以显示无限定数量的图表项(Plot Item),图表项可以是一个曲线(QwtPlotCurve),标记(QwtPlotMarker ),网格(QwtPlotGrid)或者其它由QwtPlotItem
派生出的控件。一个图表有四个坐标轴。分别有四个枚举变量对应(yLeft yRight xBottom xTop
)QwtPlotDict
类是一个Item的字典,用于管理添加到QwtPlot上的所有图元项。它按照Z值的递增顺序组织items.Z值越大越显示在图表的最表面。所有由QwtPlotItem
派生出的类需要使用item的attach
函数依附到图表上。 - QwtPlotItem
所有项的基类(base class for items)显示在图表的画布上。QwtPlotItem是一个抽象类,当你需要派生出一个新的QwtPlotItem类时,需要实现YourPlotItem::draw()方法。在draw中可以绘制你想要的图表项。比如说自定义背景图 - QwtPlotCurve
通过此类中的构造函数来设置曲线的渲染方式(绘画反锯齿setRenderHint
),设置曲线的颜色,曲线是否显示与坐标轴之间的矩形区域,用于绘制曲线,可以设置曲线与坐标轴之间的阴影部分。 - QwtLegend
简单的图例,就是图表右上方的颜色方格+标签,可以实现图例的点击事件来达到是否显示图例对应曲线的效果。 - QwtScaleDraw
用于自定义坐标轴的刻度绘制。比如:时间刻度轴。使用时继承QwtScaleDraw这个类,然后实现该类的label的虚函数,其中的参数v,猜测是通过engine计算而来的数值 - QwtSymbol 用于显示图表的标记,即每一个数据在图表上都会存在一个类型的标记。通过此类的构造函数中可以显示出各种各样的标记
- 一些问题的总结
setAxisMaxMajor(QwtPlot::xBottom,10);//设置坐标轴的最大间隔为10,也就是将一屏的刻度分为10个大间隔。
setAxisMaxMinor(QwtPlot::xBottom,10);//设置一个大间隔中显示1个小间隔,即不显示小刻度线。
//如果没有设置最大间隔,坐标轴的值会由于拖动,缩放等原因间隔会发生变化。
- 通过QObject的
startTimer
函数启动一个计时器事件与timerEvent
的事件函数对应。可以用来绘制动态曲线
关于Qwt的一些example的注释
CpuPlot 动态曲线
barchart柱形图
借鉴文章:
Qwt源码解读之QwtPlot类
Qwt使用总结,初步整理相关推荐
- Java程序员面试常见面试题,你了解多少?初步整理简化版
开题 大家好,本人面试基本 "笔试死".问"基础死"."Java常识死"那一类型的.... 面试过程中也从曾经被"鄙视" ...
- CSS 布局经典问题初步整理
本文主要对 CSS 布局中常见的经典问题进行简单说明,并提供相关解决方案的参考链接,涉及到三栏式布局,负 margin,清除浮动,居中布局,响应式设计,Flexbox 布局,等等. CSS 基础知识 ...
- blender php,=== 斑斓中国 Blender 知识索引 ===【初步整理】 nirenyang
blender导入SVG二维图形建模 http://bbs.blendercn.org/forum.php?mod=viewthread&tid=40 详解 Blender 简易形变(弯曲)修 ...
- 视觉问答(Visual Question Answering)论文初步整理
刚找的综述性文章:这两篇我没怎么看不知道怎么样 Visual Question Answering: Datasets,Algorithms, and Future Challenges Visual ...
- 全国大学生智能车竞赛组委会秘书处与Mathworks初步讨论竞赛合作事宜
简 介: 就如何在全国大学生智能车竞赛中引入Mathworks相关产品,今天智能车竞赛组委秘书处与Mathworks工作人员进行了初步的探讨.本文初步整理了在交谈过程中的主要内容. 关键词: 全国大学 ...
- 高效率整理电脑上的文件:清理电脑文件方案需要 -- 合理的方法 + 合适的工具如Python查找重复文件
有效管理电脑文档 出发点 推荐一适合大众用户的省时好用懒人方法 管好文件的基础 一. 数据/文件的分类 二. 数据/文件存放的地方 三. 数据/文件名称和文件夹名称的规范和技巧 查询重复文件的工具和方 ...
- 12306.cn网站的思考 (整理篇)
针对12306.cn网站应用架够的一些看法 背景 针对最近比较热点的列车网上订票系统频繁出现的系统问题,提出了一些自己的看法. 分析 几经分析考虑,认为可能存在几个系统瓶颈. 1.关联系统的系统负载能 ...
- 人工智能开启甲骨文整理研究新范式
编者按:在甲骨学研究中,甲骨"校重"整理是一项费事费力但又极其重要的基础性研究工作.微软亚洲研究院与首都师范大学甲骨文研究中心莫伯峰教授团队合作开发的甲骨文校重助手Diviner, ...
- Android:Android消息机制整理
文章目录 前言 一.Android消息机制的构成 二.为什么只允许主线程对UI进行更新操作 三.消息机制具体分析 ThreadLocal原理分析 MessageQueue Looper Handler ...
最新文章
- 201621123037 《Java程序设计》第10周学习总结
- 文本分类从入门到精通
- Boost:Boost概念的function_requires()的测试程序
- java 如何让循环结束,跳过某个条件,跳出当前的多重嵌套循环
- 爬虫用mysql存储还是mongodb_【面试题】Mongodb和MySQL存储爬虫数据的特点是什么?...
- Server.Variables属性大全(转载)
- html特殊符号输入法,特殊符号键盘输入法
- Web 前端本地化(一)
- 用python写王字_看这里!Python之web之王!
- ubuntu 进不去图形界面,如何重新安装驱动
- PyInstaller 打包单文件 exe 注意事项
- marked.js简易手册
- 03-django模型(1)
- 通过PHP调用天市数据的水电煤缴费接口
- 计算机图形学(二)输出图元_19_显示窗口重定形函数
- 在Win10|Win11中安装ArcGIS10.2时遇到缺少.NET Framework 3.5问题的解决办法
- Premiere Pro CS6软件安装教程
- 解决 Unrecognized option: --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED 【实测有效】
- Android Studio 安卓 常用布局控件
- Unity2016 Unity3D开发VR游戏的经验