QT程序实例——电子台签上位机软件

    这篇博客会比较长,因为大部分内容是我写的上位机技术手册,很详细,有耐心的同学应该还是能收获不少的,源代码开放于Google code,欢迎大家checkout:

http://dian-matrix.googlecode.com/svn/trunk/

废话不多少,开始介绍:

 

1.   概述

为使用户更为方便的生成汉字和绘制自己的图形,我们为《电子台签》开发了一款跨平台的上位机软件。

本软件可以自动生成常用汉字字模,也可以方便的绘制直线,最终能将这些图像信息通过串口发送至下位机。

本软件使用QT框架编程实现,并考虑了WindowsUnix系统的区别,是一个跨平台的软件项目。此外,我们使用QSerialDevice这个第三方库来封装对串口的操作。

在软件的工程搭建上,我们采用了工程文件和源文件分离的管理方式,将工程文件从源文件目录中分离出来,单独构成目录。并且,提供了vs2008工程以及bat文件脚本以方便Windows下的开发和调试。

在软件构架上,我们尽力遵循“低耦合,高内聚”的编程原则,将各个功能模块独立成类,方便维护和扩展。

2.   总体设计

上位机最重要的功能就是方便的构造显示数据,因此,其设计都是围绕数据的处理和显示来进行的,总体的框架如下:

总体框架

1 总体框架

从图中我们看到,数据的来源有两个,一个是字模的生成,一个是绘图。

因为我们的产品是“电子台签”,所以我们的用户最常用的功能必然是汉字显示。因此,我们提供了一个汉字库,程序可以方便的从该库里面获取字模信息,并更改点阵数据。

另一方面,绘图(绘制直线)也能更改点阵数据。使点阵的生成更灵活。

所有数据的更改都会立即被显示出来,方便查看。

而数据最终可以通过串口下载发送到单片机中,在电子台签上显示。

3.   模块设计

3.1. 模块概述

根据总体设计的思想,构建如下的功能模块:

模块划分

2 模块划分

其中,DataManager即负责数据的管理,包括数据按位读写,按字节读写等功能。

MatrixDlg负责整个系统的管理和操作,也是软件的用户接口。

MatrixCreatorLEDPainter进行数据的写操作,构造点阵数据。

LEDScrn则负责将数据显示到MatrixDlg上。

SerialDownloader是软件的下载模块,负责将数据串行发送到计算机串口。

3.2. 数据管理模块

DataManager是数据的管理模块,负责为数据的读写提供接口。

DataManager中的数据按字节存储,又包含按位读写操作,字节与位之间的转换算法较为负责,另一方面,这种对数据的管理操作很常见,因此我们将着重介绍这个类的设计方法。

该类含有以下接口:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值