示波器组件更新记录

2020/05/28

问题一

问题: 运行一段时间后莫名卡住
查找方案: 单独运行存数与读取的程序
现象: 发现存数与读取都在257个数之后卡住
查找原因: 使用的QSqlTableModel只能访问到缓存中的 256 条记录
解决方法: 使用 QSqlQuery 类
难点: QSqlQuery 类直接使用 SQL语句,不易使用

问题二

问题: 在使用QSqlQuery 类之后,解决了卡死问题,但由于对同一文件同时高频读写的操作,导致性能下降,尤其是示波器端随着数据的增多,延迟增大
问题分析: 由于需要高频读写,共享文件的方案本身就有互相影响的缺陷,如果读写交叉进行,共享文件比较有优势。考虑使用本地socket通信。
设想的方案: 数码窗端作为服务器,示波器端作为客户端,数码窗将数据传输过来,由示波器段存储,显示,避免了两个进程共享文件。
可能的难点: 多示波器可能需要自动分配服务器端口;多示波器的命名区分;多示波器占据的界面大,使用不便。
设想的解决方法: 一个示波器多条曲线(例如8),不够的话再增加新的示波器
成果一: 使用QTcpServer令port=0,可自动分配端口,将端口传递给示波器即可。
成果二: 读懂了构建方案是,写属性的流程。首先从文件中读取默认值,改完之后再写回去,运行的时候再读写完后的值。
最终效果: 目前的示波器不再存储数据,延迟很小,支持多个。
待改进: 多曲线会不会更方便;

2020/05/29

**想法:**想显示自动分配给示波器上层的端口号,需要加一个label组件,所以尝试自定义组件的运行界面。
**成果一:**看懂了运行界面的代码,就是自定义一个QWidget组件,赋值给 m_ui;
**成果二:**组件的调用过程大概是 构建靶场、构建方案、运行方案调用不同的函数。
**最终效果:**成功修改了界面。
**示波器:**添加手动输入IP、端口及发送连接请求,显示连接状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值