标题:Qt编写气体安全管理系统5-数据监控
作者:liudianwu
日期:2019-11-13 09:14
内容:
一、前言
本项目对设备的监控有四种视图模式,可以任意切换,数据监控、地图监控、设备监控、曲线监控,其中数据监控是最常用的,所以在主界面导航中也排在第一位,综合观察分析了很多气体安全或者组态监控软件,大部分用户习惯都是有个表格一行行显示对应设备的实时数据和状态等,加上一些特殊的颜色标识,这样显得更直观,有时候还会分门别类展示。
Qt提供了表格控件QTableWidget,可以直接以行列的形式展示数据,使用接口和方法也是非常友好,直接new一个QTableWidgetItem然后指定行列位置setItem即可。一般在系统初始化的时候通过读取数据库中的设备列表实例化item然后加载,难点在于如何动态更新这些数据,并根据收到的值以不同的颜色显示,为此还专门写了一个方法setColor来对传进来的数据进行过滤,比如报警的值红色加粗显示,这些颜色还特意做了自定义,可以在系统设置中分别设置低报、高报、离线、正常等各种颜色。
在协议解析的类中,并不是收到数据就立马发送到数据表格中,那样刷新频率太大,没有意义也没有必要,因为绝大部分时间的数据其实是不变的,所以在协议解析的类中,有一个队列专门存储的每个设备对应的值,只有当值发生了变化,才需要重新发送到界面进行展示,设备上线下线也是同样的处理,只有当设备首次上线或者离线的时候,才需要去更新状态。
皮肤开源:[https://gitee.com/feiyangqingyun/QWidgetDemo](https://gitee.com/feiyangqingyun/QWidgetDemo) [https://github.com/feiyangqingyun/QWidgetDemo](https://github.com/feiyangqingyun/QWidgetDemo)
文件名称:styledemo
体验地址:[https://gitee.com/feiyangqingyun/QWidgetExe](https://gitee.com/feiyangqingyun/QWidgetExe) [https://github.com/feiyangqingyun/QWidgetExe](https://github.com/feiyangqingyun/QWidgetExe)
文件名称:bin_sams.zip
二、功能特点
1. 采集数据端口,支持串口端口+网络端口,串口支持自由设置串口号+波特率,网络支持自由设置IP地址+通讯端口,每个端口支持采集周期,默认1秒钟一个地址,支持设置通讯超时次数,默认3次,支持最大重连时间,用于重新读取离线的设备。
2. 控制器信息,能够添加控制器名称,选择控制器地址+控制器型号,设置该控制器下面的探测器数量。
3. 探测器信息,能够添加位号,可自由选择探测器型号,气体种类,气体符号,高 ..
#1 [goldenlian 11-13 17:27]
请问在每秒刷新数据时 表格控件QTableWidget 是否有闪烁现象 ?
#2 回 goldenlian 的帖子 [liudianwu 11-14 09:23]
goldenlian:请问在每秒刷新数据时 表格控件QTableWidget 是否有闪烁现象 ? (2019-11-13 17:27)
没有闪烁,在协议解析的类中,并不是收到数据就立马发送到数据表格中,那样刷新频率太大,没有意义也没有必要,因为绝大部分时间的数据其实是不变的,所以在协议解析的类中,有一个队列专门存储的每个设备对应的值,只有当值发生了变化,才需要重新发送到界面进行展示,设备上线下线也是同样的处理,只有当设备首次上线或者离线的时候,才需要去更新状态。