雷文禮 袁君麗 任新成
摘 要:針對用戶對氣象信息獲取的需求,設(shè)計了一種專業(yè)化的基于Qt平臺的氣象信息顯示軟件系統(tǒng)。該軟件系統(tǒng)融合Linux操作系統(tǒng)、Qt軟件平臺、圖形界面設(shè)計等技術(shù),可實現(xiàn)有關(guān)天氣、溫度、風級、用戶戶外運動指南等遠程氣象信息的接收。文章從虛擬機的安裝、Qt4.7開發(fā)平臺的搭建、終端設(shè)備的圖形界面設(shè)計、具體代碼分析等方面,詳細描述了系統(tǒng)的任務(wù)要求及軟件系統(tǒng)的設(shè)計方案。實驗和使用表明:該氣象信息軟件系統(tǒng)界面顯示內(nèi)容清晰,可滿足用戶對氣象信息的即時獲取。
關(guān)鍵詞:氣象信息;Linux操作系統(tǒng);Qt軟件平臺;界面設(shè)計
中圖分類號:TN915.4 文獻標識碼:A 文章編號:2095-1302(2015)08-00-02
0 引 言
當前,人們能夠在第一時間獲取天氣的氣象信息是人們安全出行的保障,氣象終端軟件的誕生是解決這個問題的有效途徑。雖然各種平臺開發(fā)的氣象終端軟件層出不窮,但是,Qt以其優(yōu)良的跨平臺特性,強大的功能,良好的移植性使之逐漸成為廣泛應用的GUI系統(tǒng),而且在Linux系統(tǒng)下[1],使用Qt的開發(fā)軟件Qt Creator開發(fā)的氣象信息顯示軟件具有占用內(nèi)存小、功能齊全、可擴展性好等優(yōu)點。因此,本文選擇使用基于Qt平臺開發(fā)出一款具有良好的人機交互界面,可以快速查看實時氣象信息的軟件,為人們提供更好的服務(wù)。
1 Qt技術(shù)
Qt作為一個跨平臺的開發(fā)系統(tǒng),為我們提供了強大的C++圖形用戶界面庫。它由挪威TrollTech公司出品,目前包括Qt、基于FrameBuffer的 Qtopia Core、快速開發(fā)工具Qt Designer和國際化工具Qt Linguis等部分[2,3]。Qt支持所有的Unix系統(tǒng),當然也包括Linux系統(tǒng),還支持WinNT/Win2k、Windows95/98平臺。
基本上,Qt同X-Window上的Motif、Openwin、GTK等圖形界面庫和 Windows平臺上的MFC、OWL、VCL、ATL是同類型的。不過,Qt還具有下列一些優(yōu)點:
(1)具有優(yōu)良的跨平臺特性。
Qt支持的操作系統(tǒng)非常多,具體包括: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)能提供良好的面向?qū)ο筇匦浴?/p>
Qt的良好封裝機制使得Qt的模塊化程度非常高,可重用性較好,對于用戶開發(fā)來說是非常方便的。Qt提供了一種稱為signals/slots的安全類型來替代 callback,這使得各個元件之間的協(xié)同工作變得十分簡單。
(3)提供有非常豐富的API函數(shù)。
Qt包括多達250個以上的C++類,還提供有基于模板的collections、serialization、file、I/O device、directory management 和 date/time 類,甚至還提供正則表達式的處理功能。
(4)支持2D/3D圖形渲染,同時支持OpenGL。
(5)提供有大量的help文檔,相當于MSDN,同時提供有良好的開發(fā)指導。
(6)XML支持。
KDE的出現(xiàn)是真正使Qt在自由軟件界眾多Widgets(如Lesstif、Gtk、EZWGL、Xforms及fltk等)中脫穎而出的主要原因。Qt是一款開源軟件,盡管他的開發(fā)公司是一個商業(yè)公司,它不僅提供免費下載,并且所有的代碼全部都是開放源代碼,非商業(yè)用途亦采用GPL的版權(quán)宣告。
2 氣象信息軟件系統(tǒng)開發(fā)平臺搭建
2.1 安裝虛擬機軟件
搭建開發(fā)環(huán)境,最基本的一點就是要進行虛擬機軟件的安裝,具體的安裝過程如下:
(1)首先,我們應該選擇一個合適的虛擬機版本,這里選取的是10.0.1版本。
(2)打開下載好的虛擬機安裝包會出現(xiàn)安裝虛擬機的界面,點擊“下一步”會出現(xiàn)兩個選項 “典型安裝”和 “自定義安裝”,這里選擇“典型安裝”。典型安裝足以滿足項目的需求。
(3)改變虛擬機的安裝路徑,在這里選擇剩余空間較大的盤安裝。因為虛擬機的運行會占用很大的運行內(nèi)存。
(4)點擊下一步選擇“檢查產(chǎn)品更新”,然后一直下一步,顯示軟件正式在電腦中安裝,此過程需要幾分鐘。
(5)安裝完成后會提示輸入Key及產(chǎn)品號。下載時已經(jīng)得到直接輸入。點擊“完成”,完成虛擬機的安裝。
2.2 在虛擬機中安裝Linux系統(tǒng)
Fedora操作系統(tǒng)通常被應用于工業(yè)嵌入式開發(fā)中[4,5]。它是一套免費的Linux操作系統(tǒng),如今最新的版本已經(jīng)到了Fedora22,此次選擇Fedora20。下面簡單介紹怎樣在操作系統(tǒng)中安裝Linux操作系統(tǒng):
(1)首先,在Fedora官網(wǎng)上下載Fedora20 64位的Linux操作系統(tǒng)。(注意:此處下載的是iOS鏡像文件)
(2)打開已經(jīng)安裝好的虛擬機,點擊桌面上的創(chuàng)建新虛擬機選項。新建一個虛擬機設(shè)備。
(3)選擇第一步下載好的Fedora路徑,點擊“下一步”會出現(xiàn)配置此次安裝的虛擬機。
(4)具體配置選項如圖1所示。
2.3 在Fedora中安裝QtCreator
2.3.1 安裝gcc/g++編譯工具
首先,打開已經(jīng)安裝好的Fedora操作系統(tǒng),保證操作系統(tǒng)可以連上網(wǎng)。因為選擇的是在線安裝gcc/g++。
打開終端,在命令行輸入su,然后輸入密碼。進入root權(quán)限,在root下輸入yum –install gcc g++命令。就開始安裝編譯工具。
2.3.2 安裝Qt以及QtCreator
Qt現(xiàn)在的最新版本已經(jīng)到Qt5.3,此次課題選擇的是Qt4.7。以下是它的安裝過程。之所以選擇Qt,是因為Qt是專門的圖形GUI平臺,屬于開源軟件。
(1)先進入root權(quán)限。在Qt官網(wǎng)上下載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)準備數(shù)據(jù)building: ./configure.由于c是商業(yè)版的,o是開源的且是免費的,因此選擇o;
(5)編譯Qt源文件,輸入命令gmake,此過程比較長,大概需要2個小時。最后,再輸入gmake –install進行安裝。
以上步驟是環(huán)環(huán)相扣的,缺少一步都不行。
2.3.3 安裝QtCreator
安裝QtCreator的步驟如下:
(1)官網(wǎng)上下載Qt Creator 為qt-creator-linux-x86-opensource.2.0.1.bin;
(2)將上面下載好的文件拷入Linux系統(tǒng)中,進入其所在目錄,輸入命令./ qt-creator-Linux-x86-opensource.2.0.1.bin進行安裝QtCreator;
(3)為QtCreator創(chuàng)建桌面快捷方式。至此,開發(fā)環(huán)境就全部搭建完畢。
3 氣象信息軟件系統(tǒng)的設(shè)計
3.1 用戶需求分析
根據(jù)應用程序的功能需要,對用戶界面做如下分析設(shè)計:
(1)日期選擇界面:最基本的一點,用戶首先需要了解當前的日期;
(2)實時天氣界面:顯示所選城市當前的實時天氣情況,包括天氣描述、溫度高低、風級等氣象信息。此界面是應用程序的主界面,所以在設(shè)計的時候應盡量使界面美觀,將天氣數(shù)據(jù)以用戶所容易接受的方式呈現(xiàn)出來;
(3)城市選擇界面:用戶可以根據(jù)需要選擇各個城市并查看城市的天氣情況,因此需要在界面上顯示出來具體是在哪個城市。
結(jié)合以上幾點的用戶需求,大概就有了界面的總體構(gòu)圖,主要分為三個界面,即日期選擇界面、實時天氣界面、城市選擇界面。系統(tǒng)提供定時更新功能,應用http://m.weather.com.cn/data/網(wǎng)站上提供的免費的WebService接口可以獲取具體的天氣預報信息。
3.2 氣象信息軟件系統(tǒng)的設(shè)計
選擇的父窗口類型為QMinWindow,其他的所有類均繼承于父窗口。需要一個QtableWiget類可以顯示一周之內(nèi)的天氣情況,一個Qcombox類用來選擇用戶所需要查看的城市(目前只支持三個城市的搜索西安,延安,渭南),若干個QLabel類用來顯示所需要顯示的信息。添加一個QGroupBox類和若干QLabel類來顯示推薦指數(shù),用戶可以獲取進行具體戶外運動的推薦指數(shù)。程序通過tableWidget從網(wǎng)絡(luò)上得到的數(shù)據(jù)進行判斷,然后通過推薦幾顆星來幫助用戶在準備戶外運動的時候能快速決定。
4 結(jié) 語
隨時隨地獲取當前及未來幾日的氣象信息是現(xiàn)代社會生活的需求,本文設(shè)計了一種專業(yè)化的基于Qt平臺的氣象信息顯示軟件系統(tǒng)。該軟件系統(tǒng)融合Linux操作系統(tǒng)、Qt軟件平臺、圖形界面設(shè)計等技術(shù),實現(xiàn)了有關(guān)天氣、溫度、風級、用戶戶外運動指南等遠程氣象信息的接收。實驗和使用表明:該氣象信息軟件系統(tǒng)界面顯示內(nèi)容清晰,可滿足用戶對氣象信息的即時獲取需求。
參考文獻
[1]宋寶華.Linux設(shè)備驅(qū)動開發(fā)詳解[M].北京:人民郵電出版社,2010:478-528.
[2]成潔,盧紫毅.Linux窗口程序設(shè)計—Qt4精彩實例分析[M].北京:清華大學出版社,2015.
[3]龔建偉,熊光明.Visual C++/Turbo C串口通信編程實踐[M].北京:電子工業(yè)出版社,2004.
[4]李善平,劉文峰,王煥龍.Linux與嵌入式系統(tǒng)[M].北京:清華大學出版社,2006.
[5]韋東山.嵌入式Linux應用開發(fā)完全手冊[M].北京:人民郵電出版社,2008:197-221.