码迷,mamicode.com
首页 > 其他好文 > 详细

项目总结-上位机

时间:2016-04-19 19:48:35      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

概述:

前几天受朋友之托,给他们的项目写个上位机。有些经验分享给大家
项目要求是上位机收到通过串口发送的数据,根据数据显示空车位的数量。
*最终上位机拥有的值得一谈的功能:
    1.串口通信的相关设置
    2.数据保存
    3.界面随窗口缩放的实现
    4.软件打包
    5.。。。然后就没有了

总结

1.明确目的

开始写软件之前首先明确目的,软件应该实行什么功能,然后设计界面,最后才开始写代码。
界面设计(Visio设计,当然其他工具也可以):

技术分享技术分享

2.软件结构设计

整个软件只有一个窗口tabwidget,在其中嵌入三个继承自Qwidgetd的类,一个用于串口通信相关设置,一个用于显示车位数,一个是帮助页面。

3.软件页面的设计与实现

之前看过其他人写的上位机,有的界面做得不是很爽,主要是界面固定,不能进行窗口缩放。
说一下如何让软件的界面能够大小根据窗口的大小缩放?
    1.首先要知道,软件界面的自动缩放,可以由窗口控制。就是说设置好界面后把控制权交给QT的程序框架就行了,框架会进行调整。值得一提的是,个人感觉qt设计师不好用,当界面的控件多的时候,布局起来往往不如人意,特别是要实现窗口缩放的功能,很麻烦。推荐用代码布局,可操作性强,配置起来也简单明了。如果是小项目,界面简单,那就无所谓了。
    2.把所有的布局最终嵌入到一个布局里面,然后设置这个布局为窗口的布局,剩下的缩放就交给qt控件了。

4.串口通信的实现

qt5提供了串口类,所以我们只需要调用修改函数进行配置就能够实现通信了。qt5的示例程序里面有查看程序,输入“serial”就可以检索出来。
对串口的操作类似文件操作。过程就是:打开串口—>使用串口—>关闭串口。完整的过程:检索串口—>打开串口—>配置波特率、停止位等等—>对串口读写—>不使用时关闭。

5.关于注释

代码有些是有注释,有些是没有注释的,还有一些是自注释(通过函数名称就知道是干啥的)。

6.一些需要注意的问题

1.要想使用串口类需要在工程文件添加serialport
    eg. QT       += core gui serialport
2.为软件的使用方便性,可以设置“伙伴”(setBuddy)
3.注意控件的宽度,有时候界面缩放效果不理想,并不是布局不好,而是控件的一些属性(高度、宽度)影响了布局。

7.评价

这个程序车位显示模块做得真菜,判断有无车位居然使用的是if()else()……..
他们做的下位机连个通信协议都定。我这边也是没办法,把老师忽悠过关就行了。反正不是我的项目,O(∩_∩)O~

8.结果展示:

技术分享
技术分享
技术分享
技术分享

技术分享
技术分享

9.软件打包

1.思考一个问题:为什么要打包?
    通俗来说,因为用户可能没有Qt SDK,可能有也不知道如何使用,所以需要打包(不同意的同志不要笑)。
2.打包工具:
3.打包原料:
    qt生成的可执行文件(一般使用release版的,因为其占用空间少,使用debug对应用户来说没必要,其占用空间也大)
    qt的一些dll(如果不知道你的可执行程序需要那些,就运行可执行程序根据提示去安装目录下的bin文件夹复制过来就行。eg. C:\Qt\Qt5.5.0\5.5\mingw492_32\bin)
4.打包步骤:
    1.把程序用到的资源,可执行程序、相关dll放置一个文件夹里

技术分享

    2.打开打包工具

技术分享

    3.完成

代码

http://download.csdn.net/detail/w2654189525/9495722

项目总结-上位机

标签:

原文地址:http://blog.csdn.net/w2654189525/article/details/51190204

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!