专业编程培训机构——完成蜕变以后轻松拿高薪
电话+V: 152079-09430 ,欢迎咨询超多显示界面的软件设计实例,[python实用课程],[C++单片机原理],[C#网站搭建],[Nodejs小程序开发],[ios游戏开发],[安卓游戏开发],[教会用大脑用想法赚钱实现阶层跨越]
一、[基于Linux,Qt的列车人机界面的设计]人机界面设计
摘要:主要阐述一种用于列车显示器人机界面的设计方案。通过分析选择开源,而且稳定性好的linux系统及Qt/Embeded软件作为其设计的软件平台。构建列车显示器人机界面的整体构架,并阐述各个界面的构建过程和重要的编程思路,实现其相应功能。
关键词:人机界面;linux系统;Qt/Embeded
中图分类号:U231文献标识码:A文章编号:1671-7597(2012)0720044-02
0引言
列车在高速运行过程中,驾驶员或维护人员对列车的一些状态信息的了解与否对于列车的安全运行起着重要作用,而随着铁路列车的高速发展,工作人员需要的信息也日益增加,传统的以模拟仪表和指示灯为主的显示方式已经不能适应现代高速列车发展的需要,由此产生了基于ARM开发板的智能显示器。这种显示器具有显示容量大、可存储及显示界面可编程等特点,使列车显示的信息简介和标准化。通过智能显示器提供友好的人机界面,工作人员可以对列车的相关参数进行设置、并能实时的掌握有关列车和线路的重要信息,同时对列车上其他设备所发出的命令和警告做出及时响应。
因此,本文在功能强大的pc硬件平台上,在Linux操作系统下,用Qt/Embeded软件开发了一个适用于铁路列车显示器的人机界面。
1操作系统的选择
操作系统是整个软件系统的开发基础。一般来说,比较常见的嵌入式操作系统有:VxWorks、WinCE、Linux。Linux操作系统是由Unix系统发展而来,经过多年的改进,所以具有稳定成熟的特点,在网络通信方面的功能比较突出,而且其开源的特点,保证了其系统良好的可移植性,同时也支持多种软件开发工具,便于应用程序的设计。因此,本次设计选用Linux作为其操作系统。
2软件平台的选择
对于软件开发平台,我们主要有3种选择:MiniGUI、MicroWindows、Qt/Embedded。Qt/Embedded是一个专为嵌入式设备的图形系统应用开发而设计的软件,运用的是C++语言,本身还自带多种形式的窗口和及部件,所以其拥有良好的可视化编程,在Windows和Linux系统下拥有同样的API,所以拥有良好的跨平台性,这十分有利于应用程序的移植,所以本次设计选用Qt/Embedded作为其软件开发平台。
3人机界面的设计
列车显示器的最终用户是司机和列车上的工作人员,因此其人机界面的设计需要考虑到以下几个问题。
1)显示信息量需求分析。列车在高速行驶过程中,会产生很多重要的参数和信息,我们对于列车显示器人机界面上的设计原则是要直观,简洁,友好的显示列车参数和信息。在此分析下需要显示的重要的参数和信息。在列车行驶前,需要注意的信息有各车厢的车门和空调开关与否,以及其车厢内的温度。列车行驶中,需要的信息有列车当前车速,接触网电压,轴温,主断路器,制动力,牵引力以及故障信息等。
2)人机界面结构设计。基于上面所分析的显示信息量,人机界面主要划分为5个子界面,分别是机车状态,集中控制,制动系统,牵引系统和故障信息。其中集中控制界面里再设置一个子界面,用于查询各车厢的状态。所以,人机界面的整体结构图如1图所示。
图1主结构图
4软件实现
Qt是Linux系统下功能很强的图形界面开发工具,而且非常支持可视化编程,其设计器(QtDesigner)提供了一个IDE,拥有很好的人机交互界面。因此,我们主要就是利用这个IDE和它预留的API函数,将需要的控件以图形的方式嵌入到QtDesigner中去,作为它的一个插件,方便使用者用以生成所需的界面。下图就是制作的人机界面。
图2人机界面
下面就几个人机界面软件实现过程中几个关键技术做出说明。
4.1编写多窗口程序
在集中控制界面上,我们设计了个查询功能,其功能是按下查询按钮,即会弹出个查询子窗口,显示各车厢的温度,车门和空调开关与否,便于我们查询。其过程大致如下:
1)新建一个工程文件,文件和类选择QT设计师界面类,界面模版选择DialogwithoutButtons,类名为cxcx,然后添加至我们的人机界面工程项目中。
2)在集中控制界面上添加一个PushButtons按钮,修改其名称为查询,再右键点击此按钮,选择gotoslot(转到槽)选项,弹出的信号选择框中选择clicked()信号,这样就构造了一个PushButtons_clicked()槽函数,再在槽函数中编写如下代码。
voidWidget::on_PushButton_clicked()
{
cxcxcx;//建立自己新建类的对象cx
if(cx.exec()==QDialog::Accepted)//利用Accepted信号判断是否被按下
{
cx.show();//如果被按下,显示此窗口
}
elsereturn0;
}
3)最后在主程序开头进行函数声明#include"cxcx.h",这样就完成了本次设计中多窗口程序的编写,实现了其功能。
4.2实时显示系统时间
对于如何在人机界面上提取并显示系统时间,有两种方法,一种是使用事件机制来实现,另一种是自己建立关联。而本次设计运用的是建立关联的方法,其过程如下:
1)在主界面上添加一个标签labe1,并设置其显示内容为“0000-00-0000:00:00星期日”。
2)在主程序头文件中添加槽函数声明。
privateslots:
VoidtimerUpDate();
3)在主程序源文件中添加#include的头文件包含,这样就包含了QtCore下的所有文件。再在构造函数里添加如下代码:
QTimer*timer=newQTimer(this);//新建定时器
Connect(timer,SIGNAL(timeout()),this,SLOT(time
rUpDate()));//关联信号和槽
Timer->start(1000);//定时器开始计时,1000ms即1秒
4)最后实现更新函数。
VoidMainWindow::timerUpDate()
{
QDateTimetime=QDateTime::currentDateTime();//获取系统时间
QStringstr=time.toString("xxxx-NN-ddhh:NN:ssdddd");//设置系统时间格式
ui->labe1->setText(str);//在标签上显示时间
}
5结束语
本文设计的列车显示器人机界面能够比较直观,简洁的显示列车运行过程中的重要信息,而且其运用的Qt/Embeded图形设计软件拥有良好的可视化编程,所以添加信息显示栏会非常方便,这大大提高了界面的友好性。所有这些不管是对列车司机还是工作人员,都提供了很多方便之处。
参考文献:
[1]刘军,支持TCN的列车智能显示器的研究与实现[D].湖南:中南大学,2009.
[2]俞辉、李永,ARM嵌入式Linux系统设计与开发[M].机械工业出版社,2001.
[3]怯肇乾,嵌入式图形系统设计[J].北京航空航天大学出版社,2005.
[4]刘凯,Qt程序设计[M].清华大学出版社,2003.
作者简介:
二、iOS实例:什么是不过时、好的用户界面设计?
曾有网友在知乎这样疑问苹果的移动操作系统iOS的界面设计。什么才是不过时、好的用户界面设计?如同那句在文学领域流传很广的名言:一千个人就有一千个哈姆雷特。关于用户界面设计的好与否,我相信每个人都有自己的独特看法和设计理念。那么在iOS界面中,苹果是如何处理那些我们耳熟能详的UI设计背后的文化与情感?iOS的界面设计与谷歌的开源系统Android、微软的WindowsPhone瑞士平面风格等一个最大的区就是,Apple把现实中经历的文化“痕迹”反应在他的设计中,与之让人产生情感上的亲密关系。在iBooks中,Apple对木板纹理的深度高仿设计再现了我们现实生活中的书架样子,从AppStore买来的数字图书将被整齐的摆放在其中。为什么Apple的iBooks会设计成一个模仿现实中用木头做的书架子?为什么不是其他更前卫时尚的设计?这让我记起了乔布斯的父亲曾经教导他的:“如果你是个木匠,你要做一个漂亮的衣柜,你不会用胶合板做背面,虽然这一块是靠着墙的,没有人看见。你自己知道它就在那儿,所以你会用一块漂亮的木板去做背板。如果你想晚上睡得安稳的话,就要保证外观和质量都足够好。”同样,如果你想设计一款被所有人喜欢且漂亮的阅读App,你会思考设计什么样的外观就能钩起用户的阅读欲望呢?iBooks告诉了我们:一个看上去像自个儿家的书架。iBooks除了拥有高仿的书架外,对于摆放在里面的数字图书的内容装桢设计,Apple也追求做到极致,如:翻页产生的效果、边框的书页厚度模拟等让人惊叹于Apple对细节的设计可谓之用心。Apple在阅读应用界面上与众不同的设计品位,让你在各种不同平台中随处可见这种模仿iBooks设计风格的应用开发商。和阅读应用iBooks一样,另一个被大多人反复使用的应用——Photos,在我看来Apple赋予了它更丰富的设计文化内涵。深蓝的天空下、在一道微笑曲线的高光滑过下,永远绽放着一朵金黄色的向日葵,这就是Apple的Photos给我的印象。为什么Apple会选用一个植物作为图片app的logo?而通常的做法是设计选取一副漂亮的矢量风景山水图,这让我想起《乔布斯传》里,乔尼在乔布斯家做客时,受后花园种满向日葵的启发设计了那台漂亮得让人忍不住想去舔的iMac,乔尼是否把iMac设计的灵感运用到Photos上无从得知,但作为自然界太阳的象征,向日葵代表着乐观与阳光,这跟Apple制作的所有宣传中永远都会有一张幸福的笑脸出现在每一个角落的拍摄理念完全一致。向日葵在艺术领域里,它的忠实粉丝来自19世纪一位荷兰杰出的印象派画家—梵高,我相信这个名字很多人并不陌生,梵高一生在潦倒中度过,但倔强执着的性格使这位只活了37岁的画家,生前不厌其烦的反复创作各种不同大小外观尺寸的向日葵。我无法得知Apple在设计Photos时是否完全借鉴了梵高的向日葵,但这让更多的人更进一步了解到Apple设计背后的人文内涵。iBooks、Photos作为AppleiOS两款重要的App,除了对界面进行精度的高仿设计外,动态的视觉效果设计犹如这些App皇冠上的宝石,备忘录Notes被删除时扔进垃圾筒的特效以及浏览前后页之间的不同方向翻页的设计和新一代iOS6里面Passbook仿照真实文件粉碎机设计来显示被删文件等,每一个细微的设计都在体现机器与生活的紧密联系。Apple在设计App界面上很注重功能细节的体验与真实生活中的动作建立联系,这无异于在将我们和产品之间建立起长久的稳固感情,这大概就是为什么有那么多人喜欢Apple设计的原因之一吧。知乎上面曾经有一位业内设计师评价说:Apple最大的短板就是应用logo界面的风格设计不统一,如:地图采用了真实的地址形式、日历采用了数字形式以及备忘录采用纸质的线格形式等等,各个App界面之间的搭配让人看起来有种相互联系不起来的感觉,他不像微软的WindowsPhoneModern风格一看就是一个整体。我觉得Apple的App界面设计之所以看上去有点不协调,是因为Apple在用更直白、易懂的角度赋予每个App的本质。设计Notes纸被撕碎的真实痕迹感、高度精准的金属反光话筒语音备忘录设计以及YouTube的复古电视机等去除华而不实的装饰、还原产品的本来面貌,我想这就是史蒂夫永远留给Apple的精神财富。用过苹果产品的用户都应该会有这种感受:即使没有App下面的名称,你也依然能一眼识别出这个App的功能,这比那些以更换各种杂七杂八的绚丽App主题风格为噱头的厂商可谓跟Apple在设计文化理念上就已经拉开了距离。“简约”、“用户体验”如今被许多企业拿来大做产品宣传理念,他们真的从硬件到软件再到一个功能的UI设计做到足够的简约易懂和好的体验吗?我认为很少有人做到。即使像Apple这样的企业也会出现一系列偶然的差错,从MobileMe邮件服务到音乐社交Ping再到最新的iOS6地图搜索。但Apple还是那个Apple,即使它偶尔的犯错也依然不减全球的果粉为之疯狂。【FUTURE PROGRAMMING COURSE】尊享对接老板
电话+V: 152079-09430
机构由一批拥有10年以上开发管理经验,且来自互联网或研究机构的IT精英组成,负责研究、开发教学模式和课程内容。公司具有完善的课程研发体系,一直走在整个行业发展的前端,在行业内竖立起了良好的品质口碑。