群里有小伙伴咨询:
拿了一个offer,做QT的,仪器仪表方面的,请问大佬们我怎么准备呢?复习哪些知识呢?
正好我们现在创业公司就在这类行业,借此梳理下用过的一些感觉比较重要的知识点。
这种工控类的软件可能会和各种各样的设备打交道,比如公司仪器设备、万用表、一些辅助调试工具。里面有的网口有的串口(有的甚至可能一些特殊驱动的接口)。可能有包括设备扫描发现、联机、状态刷新、大量数据传输、固件升级、校准维护、量产、授权等功能。TCP、UDP、串口等编程需要用得比较熟。
仪器仪表一般都有各种类型的数据、状态需要展示,一般都不是常规控件能满足的,主监控界面基本都是自绘的。需要熟练掌握大量设备的绘图显示,并支持各种批量选中、命令操作。另外很多功能界面也需要自绘、委托才能达到比较理想的效果,所以免不了会定制一些控件。自绘和委托务必熟练。
仪器产生的数据可能是比较大量的,尤其是现在仪器越来越高精尖,采样速度也是发展到ms、us级别,数据量动辄百万千万。Qt常规的数据展示肯定是性能不够的,需要自定义model,增加一些自己的优化,来支持这些大量数据的展示。
大量数据可不是简单的展示就完事了,用户只看一个表格是没太大作用的。一般用户会希望将数据里面一些关心的字段绘制成图表展示,这样更直观更容易分析。于是需要掌握至少一种比较强大的图表库。学会绘制各种图形。同样的对绘制性能也要做些优化。
数据不能只保存成你自己设计的格式就完了,也需要输出成excel 这种通用的格式,或用户指定的其他软件格式。用户可能会去EXCEL里进行二次处理,有的还会拿到类似 Origin 这种专业的数学分析软件里去做更复杂的后期处理。因此你的数据分析软件在设计之初最好就考虑下以后输出为其他格式的方便程度。
仪器仪表等工控类软件,一般都会有一个类似流程图那种的界面,用来编写仪器的执行流程。这个也类似3里的绘图,但是图元操控的功能复杂度更高一点,挑战更大点。也有简单版的编辑方式,就是像一个表格一样的,这种就容易开发点。
简单整理了下,暂时想到这么多。