标题:Qt编写可视化大屏电子看板系统19-横向柱状图
作者:liudianwu
日期:2021-08-27 08:54
内容:
## 一、前言
横向柱状图的绘制这玩意当初还着实花费了一些时间,因为从v1版本开始,默认XY坐标轴是没有交换位置的处理的,也只有垂直的柱状图,要想换成横向的柱状图必须是自己拿到数据重新绘制,数据值的设置一般有这几个参数,值的区域、显示数据值的位置(0-不绘制 1-顶部上面 2-顶部居中 3-中间居中 4-底部居中)、数据值的精确度(有时候可能是浮点数需要有小数位)、柱子的颜色(没有校验的时候按照设置的颜色)、是否校验数据(开启校验后按照校验的规则取对应的颜色)。
在进行二次开发的时候,最初的版本是所有功能写在一个类中,这样方便用户直接引入一个文件就能使用,后面随着功能的增多,发现一个代码文件中放了多个类管理起来不方便,后面还是拆分成不同的文件,比如自定义柱状图类CustomPlotBarv、自定义平滑线类CustomPlotLine、自定义图层类CustomPlotTracer,这样学习起来方便,关注点是拓展性和管理学习方便,而不是文件数量少,QCustomPlot其实开发阶段也是很多个类文件的,只不过发布的时候用工具合并成了一个文件,这样体积小。
## 二、功能特点
1. 采用分层设计,整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。
2. 子控件包括饼图、圆环图、曲线图、柱状图、柱状分组图、横向柱状图、横向柱状分组图、合格率控件、百分比控件、进度控件、设备状态面板、表格数据、地图控件、视频控件等。
3. 二级界面可以自由拖动悬浮,支持最小化隐藏、最大化关闭、响应双击自定义标题栏。
4. 数据源支持模拟数据(默认)、数据库采集、串口通信(需定制)、网络通信(需定制)、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。
5. 采用纯QWidget编写,亲测Qt4.6到Qt6.2任意版本,理论上支持后续其他Qt版本。
6. 超强跨平台,亲测windows、linux、mac、国产uos、国产银河麒麟kylin等系统,效果完美,同时还支持嵌入式linux比如树莓派、香橙派、全志、imx6等。
7. 同时集成了自定义控件、qchart饼图、echart地图等功能。
8. 内置多套配色风格样式(紫色、蓝色、深蓝、黑色),默认紫色,自适应任意分辨率。
9. 可设置系统标题、目标分辨率、布局方案,启动立即应用。
10. 可设置主背景颜色、面板颜色、十字线游标颜色等各种颜色。
11. 可设置多条曲线不同颜色,没有设置颜色的情况下内置多套精美颜色随机应用。
12. 可设置标题栏背景颜色、文字颜色。
13. 可设置曲线图表背景颜色、文 ..