一种基于Qt平台的气象信息软件设计

2015-09-14 09:50雷文礼袁君丽任新成
物联网技术 2015年8期
关键词:界面设计

雷文礼 袁君丽 任新成

摘 要:针对用户对气象信息获取的需求,设计了一种专业化的基于Qt平台的气象信息显示软件系统。该软件系统融合Linux操作系统、Qt软件平台、图形界面设计等技术,可实现有关天气、温度、风级、用户户外运动指南等远程气象信息的接收。文章从虚拟机的安装、Qt4.7开发平台的搭建、终端设备的图形界面设计、具体代码分析等方面,详细描述了系统的任务要求及软件系统的设计方案。实验和使用表明:该气象信息软件系统界面显示内容清晰,可满足用户对气象信息的即时获取。

关键词:气象信息;Linux操作系统;Qt软件平台;界面设计

中图分类号:TN915.4 文献标识码:A 文章编号:2095-1302(2015)08-00-02

0 引 言

当前,人们能够在第一时间获取天气的气象信息是人们安全出行的保障,气象终端软件的诞生是解决这个问题的有效途径。虽然各种平台开发的气象终端软件层出不穷,但是,Qt以其优良的跨平台特性,强大的功能,良好的移植性使之逐渐成为广泛应用的GUI系统,而且在Linux系统下[1],使用Qt的开发软件Qt Creator开发的气象信息显示软件具有占用内存小、功能齐全、可扩展性好等优点。因此,本文选择使用基于Qt平台开发出一款具有良好的人机交互界面,可以快速查看实时气象信息的软件,为人们提供更好的服务。

1 Qt技术

Qt作为一个跨平台的开发系统,为我们提供了强大的C++图形用户界面库。它由挪威TrollTech公司出品,目前包括Qt、基于FrameBuffer的 Qtopia Core、快速开发工具Qt Designer和国际化工具Qt Linguis等部分[2,3]。Qt支持所有的Unix系统,当然也包括Linux系统,还支持WinNT/Win2k、Windows95/98平台。

基本上,Qt同X-Window上的Motif、Openwin、GTK等图形界面库和 Windows平台上的MFC、OWL、VCL、ATL是同类型的。不过,Qt还具有下列一些优点:

(1)具有优良的跨平台特性。

Qt支持的操作系统非常多,具体包括:Microsoft Windows95/98、Microsoft Windows NT、Linux、Solaris、SunOS、HP-UX、Digital UNIX(OSF/1、Tru64)、Irix、FreeBSD、BSD/OS、SCO、AIX、OS390 和 QNX 等。

(2)能提供良好的面向对象特性。

Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signals/slots的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。

(3)提供有非常丰富的API函数。

Qt包括多达250个以上的C++类,还提供有基于模板的collections、serialization、file、I/O device、directory management 和 date/time 类,甚至还提供正则表达式的处理功能。

(4)支持2D/3D图形渲染,同时支持OpenGL。

(5)提供有大量的help文档,相当于MSDN,同时提供有良好的开发指导。

(6)XML支持。

KDE的出现是真正使Qt在自由软件界众多Widgets(如Lesstif、Gtk、EZWGL、Xforms及fltk等)中脱颖而出的主要原因。Qt是一款开源软件,尽管他的开发公司是一个商业公司,它不仅提供免费下载,并且所有的代码全部都是开放源代码,非商业用途亦采用GPL的版权宣告。

2 气象信息软件系统开发平台搭建

2.1 安装虚拟机软件

搭建开发环境,最基本的一点就是要进行虚拟机软件的安装,具体的安装过程如下:

(1)首先,我们应该选择一个合适的虚拟机版本,这里选取的是10.0.1版本。

(2)打开下载好的虚拟机安装包会出现安装虚拟机的界面,点击“下一步”会出现两个选项 “典型安装”和 “自定义安装”,这里选择“典型安装”。典型安装足以满足项目的需求。

(3)改变虚拟机的安装路径,在这里选择剩余空间较大的盘安装。因为虚拟机的运行会占用很大的运行内存。

(4)点击下一步选择“检查产品更新”,然后一直下一步,显示软件正式在电脑中安装,此过程需要几分钟。

(5)安装完成后会提示输入Key及产品号。下载时已经得到直接输入。点击“完成”,完成虚拟机的安装。

2.2 在虚拟机中安装Linux系统

Fedora操作系统通常被应用于工业嵌入式开发中[4,5]。它是一套免费的Linux操作系统,如今最新的版本已经到了Fedora22,此次选择Fedora20。下面简单介绍怎样在操作系统中安装Linux操作系统:

(1)首先,在Fedora官网上下载Fedora20 64位的Linux操作系统。(注意:此处下载的是iOS镜像文件)

(2)打开已经安装好的虚拟机,点击桌面上的创建新虚拟机选项。新建一个虚拟机设备。

(3)选择第一步下载好的Fedora路径,点击“下一步”会出现配置此次安装的虚拟机。

(4)具体配置选项如图1所示。

2.3 在Fedora中安装QtCreator

2.3.1 安装gcc/g++编译工具

首先,打开已经安装好的Fedora操作系统,保证操作系统可以连上网。因为选择的是在线安装gcc/g++。

打开终端,在命令行输入su,然后输入密码。进入root权限,在root下输入yum –install gcc g++命令。就开始安装编译工具。

2.3.2 安装Qt以及QtCreator

Qt现在的最新版本已经到Qt5.3,此次课题选择的是Qt4.7。以下是它的安装过程。之所以选择Qt,是因为Qt是专门的图形GUI平台,属于开源软件。

(1)先进入root权限。在Qt官网上下载Qt库,库名为:qt-everywhere-opensource-src-4.7.1.tar.gz;

(2)进入下载的文件所在目录,然后,使用cp qt-everywhere-opensource-src-4.7.1.tar.gz /tmp,将压缩文件拷贝到临时文件下;

(3)进入/tmp目录,然后输入命令:tar –zxvf qt-everywhere-opensource-src-4.7.1.tar.gz解压文件;

(4)准备数据building: ./configure.由于c是商业版的,o是开源的且是免费的,因此选择o;

(5)编译Qt源文件,输入命令gmake,此过程比较长,大概需要2个小时。最后,再输入gmake –install进行安装。

以上步骤是环环相扣的,缺少一步都不行。

2.3.3 安装QtCreator

安装QtCreator的步骤如下:

(1)官网上下载Qt Creator 为qt-creator-linux-x86-opensource.2.0.1.bin;

(2)将上面下载好的文件拷入Linux系统中,进入其所在目录,输入命令./ qt-creator-Linux-x86-opensource.2.0.1.bin进行安装QtCreator;

(3)为QtCreator创建桌面快捷方式。至此,开发环境就全部搭建完毕。

3 气象信息软件系统的设计

3.1 用户需求分析

根据应用程序的功能需要,对用户界面做如下分析设计:

(1)日期选择界面:最基本的一点,用户首先需要了解当前的日期;

(2)实时天气界面:显示所选城市当前的实时天气情况,包括天气描述、温度高低、风级等气象信息。此界面是应用程序的主界面,所以在设计的时候应尽量使界面美观,将天气数据以用户所容易接受的方式呈现出来;

(3)城市选择界面:用户可以根据需要选择各个城市并查看城市的天气情况,因此需要在界面上显示出来具体是在哪个城市。

结合以上几点的用户需求,大概就有了界面的总体构图,主要分为三个界面,即日期选择界面、实时天气界面、城市选择界面。系统提供定时更新功能,应用http://m.weather.com.cn/data/网站上提供的免费的WebService接口可以获取具体的天气预报信息。

3.2 气象信息软件系统的设计

选择的父窗口类型为QMinWindow,其他的所有类均继承于父窗口。需要一个QtableWiget类可以显示一周之内的天气情况,一个Qcombox类用来选择用户所需要查看的城市(目前只支持三个城市的搜索西安,延安,渭南),若干个QLabel类用来显示所需要显示的信息。添加一个QGroupBox类和若干QLabel类来显示推荐指数,用户可以获取进行具体户外运动的推荐指数。程序通过tableWidget从网络上得到的数据进行判断,然后通过推荐几颗星来帮助用户在准备户外运动的时候能快速决定。

4 结 语

随时随地获取当前及未来几日的气象信息是现代社会生活的需求,本文设计了一种专业化的基于Qt平台的气象信息显示软件系统。该软件系统融合Linux操作系统、Qt软件平台、图形界面设计等技术,实现了有关天气、温度、风级、用户户外运动指南等远程气象信息的接收。实验和使用表明:该气象信息软件系统界面显示内容清晰,可满足用户对气象信息的即时获取需求。

参考文献

[1]宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版社,2010:478-528.

[2]成洁,卢紫毅.Linux窗口程序设计—Qt4精彩实例分析[M].北京:清华大学出版社,2015.

[3]龚建伟,熊光明.Visual C++/Turbo C串口通信编程实践[M].北京:电子工业出版社,2004.

[4]李善平,刘文峰,王焕龙.Linux与嵌入式系统[M].北京:清华大学出版社,2006.

[5]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2008:197-221.

猜你喜欢
界面设计
基于文献计量学的界面设计可用性中外对比研究
《京燕儿》APP界面设计
中医养生APP界面设计
“共享员工”平台界面设计
中国传统元素在界面设计中的应用
“三位一体”教学模式下的互动界面设计课程建设探索与实践
主题公园服务类APP界面设计中视觉元素的表现
面向智能手机的UI界面设计
手机UI界面设计中视觉艺术元素的构成
公益跑步类APP交互界面设计研究——以善跑APP为例