Professional, efficient UI design tool for car audio, cluster,industrial control screen.
 
 
 
内容标题

                               
                                          使用QD设计界面的体验

    QD是一款针对LCD屏的界面设计工具(免费下载:../../page/service/product.php)。其实,在使用QD之前,我们一直使用免费的字库和图片转换工具,把需要的资源变成数组,然后再用手工的方式,把这些资源组合成一个个界面。因为在我来公司之前,大家都是这样做的,并且已经有了相应的程序框架,所以大家也没有时间去考虑,是否有更好的方法和工具,况且这也不是我们程序员考虑的事情。我们公司是做工业控制的,对代码的质量要求很高,而我的任务主要是做UI(显示画面),每天的工作并不是写代码,而是在先前项目上修改这些零碎的画面,同时又要保证不能出Bug。每个不同的项目,功能基本差不多,但是人机界面却不一样,每天都是该来改去…。
    几个月前,新来一个同事告诉我,他在上一家公司也是做HMI的,画面比我们的还繁琐,是做汽车仪表的。后来他给我们推荐了QD软件,并告诉我,其实大一点的公司早不再用免费的工具了,现在人力成本这么高,不够耽误时间的…。
   下载了QD后,才发现,其实这个软件不仅功能强大,而且操作简单,易学易用。QD软件里面,不仅能转换字库和图片,而且是所见即所得的方式设计画面,不同的画面可以有不同的优先级(可以实现弹出窗体),例如字体的左对齐,居中对齐,右对齐,只是工具里面的一个设置,而实现字体的滚动、字体的反显等也只是QD里面的一个设置。
    QD的设计流程如下:
    先在电脑上设计画面、事件和动作-->生成C代码-->嵌入式板子上编译运行。
    QD的设计理念是,先设计一张张Page(画面),然后在这些page下添加其他元素。其中Container(容器)元素比较特殊,因为在Container下还可以添加其他元素。就这样,一个Page就完成了,它形成了一个树状关系,来描述它包含的子元素。如下图:

   
 QD里面,有个奇妙的元素——动态Container。在显示一个树状结构的Page时,用户可以使用API(或动作),动态的把树上的某个分支指向其他节点。就像多路开关一样,从而实现更加复杂的界面变化。
    API(C代码,符合MISRA-C-2004标准)的个数虽然只有2个,但是功能强大。例如:滚动字体、反显字体、改变字体的颜色、改变矩形的颜色/位置/大小、移动字符串、移动图片、设置动态容器的值、改变字符串、显示/关闭一个画面、触发一个事件、设定多级定时器、运行/停止/暂停一个动作、弹出一个窗体等等。API最多支持6个LCD屏同时显示,满足有些产品可能有多个显示屏需求。
    在QD中,用户还可以设计一些Action 和Event(动作、事件)。用户甚至不用写一行代码,就能实现UI和相关逻辑。所有的Page、Action、Event设计好后,用户可以在QD中先模拟这些动作,如果效果可以的话,就可以生成C代码了。
QD还提供了一套模拟器,其实就是VC6.0下一个项目。当硬件还没有开发好,用户只需要在指定的文件中,编写C代码,就可以直接在电脑上调试并输出画面。等到硬件开发好后,再把编写的C代码复制到嵌入式项目中。
    在遇到不懂的问题时,还可以及时得到相应的技术支持。甚至,我们对工具的一些改进意见,如果对方认为不错的话,也会在很短的时间内得到更新。我们以前有5,6个人专门负责UI的软件,使用QD后,大约2个人就基本够了。
总的来说,QD设计理念简单,功能强大,运行效率高,经过很多OEM项目验证,当然,正式版QD是收费的,但是大大节省了人力成本。QD是个值得给大家推荐的一款HMI设计工具。

2010-2020 Copyright(C) by ZhuLi All rights reserved