基于嵌入式圖形界面開發(fā)與應用_第1頁
已閱讀1頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、《工業(yè)控制計算機》2010年第23卷第6期29基于嵌入式圖形界面開發(fā)與應用BasedonEmbeddedGraphicalInterfaceDevelopmentApplication蔣邦友閆學文(太原科技大學電子信息工程學院,山西太原030024)摘要介紹了Qt的技術,Qt/Embedded開發(fā)環(huán)境在Linux系統(tǒng)中的搭建。闡述Qt/Embedded應用程序如何在主機上進行交叉編譯以及在TQ2440目標機上的運行上。該方法也適用于其它

2、嵌入式產(chǎn)品的圖形用戶界面的設計。關鍵詞:圖形用戶界面,Qt,交叉編譯AbstractThispaperintroducestheQttechnologytheQt/EmbeddeddevelopmentenvironmentinLinuxsystembuildelabateshowtheQt/EmbeddedapplicationproceduredoescarryonthecrosscompilingaswellasontheTQ24

3、40targetmachine'smovementonthemainengineThismethodisalsosuitablefotherembeddedproductgraphicaluserinterfacedesignKeywds:graphicaluserinterfaceQtcrosscompiling隨著嵌入式消費電子產(chǎn)品的普及,例如PDA(個人數(shù)字助嵌入式設備稱為目標機。本文操作系統(tǒng)RedHat90是用理)、智能手機、手

4、持信息設備等,嵌入式圖形用戶界面VMwareWkstation安裝在PC機上,所使用的開發(fā)板是廣州(GUI:GraphicalUserInterface)已成為不可缺少的重要組成部分天嵌計算機科技有限公司生產(chǎn)的TQ2440開發(fā)板。S3C2440是,嵌入式圖形用戶界面以其豐富的圖形圖像信息、直觀的表達方三星公司推出的一款功能強大,功耗極低的ARM9嵌入式式與用戶交互,被越來越多的嵌入式系統(tǒng)所采用,現(xiàn)已成為當今CPU,應用范圍非常廣泛。嵌入

5、式領域的發(fā)展熱點之一搭建的系統(tǒng)平臺基本框架為嵌入式微處理器(TQ2440)+嵌。1Qt的分析入式操作系統(tǒng)(Linux)。第一步在PC上設置超級終端,如圖1圖形用戶界面是軟件與最終用戶的接口,在很大程度上決所示,這樣就可以實現(xiàn)PC機和TQ2440目標板聯(lián)通。定著軟件的成敗。所以,為應用程序選擇圖形用戶界面開發(fā)工具箱是軟件開發(fā)過程中非常重要的一件事。目前,可供選擇的圖形用戶界面工具箱較多,每個工具箱都有自己的優(yōu)點和缺點。Linux操作系統(tǒng)下

6、的圖形用戶界面開發(fā)工具QtDesigner提供豐富的控件,利用直接拖拽控件的方式可以很方便地進行軟件界面的設計。Qt是諾基亞公司的一個的產(chǎn)品,是完全面向?qū)ο蟮目缙脚_圖形用戶界面開發(fā)工具,是Linux系統(tǒng)中最流行的開發(fā)工具之一,也是在Unix上自由軟件開發(fā)的主流。主要有以下特點:1)優(yōu)良的跨平臺特性,Qt支持下列操作系統(tǒng):MicrosoftWindows,Linux,Solaris,SunOS,DigitalUNIX,F(xiàn)reeBSD,BS

7、D/OS,QNX等等。2)良好的面向?qū)ο?,Qt的封裝機制使得Qt的模塊化程度非1超級終端設置圖常高,可重用性較好。Qt提供了一種稱為Signals/Slots的安全第二步在RedHat90的終端使用#minicom-s命令設類型來替代Callback,這使得各個元件之間的協(xié)同工作變得十置如下:分簡單。3)Qt是一種跨平臺的工具包,它對編程者隱藏了在處理不同窗口系統(tǒng)時的潛在問題,使程序員避免了在文件處理、時間處理等方面所存在的依賴操作系統(tǒng)

8、的細節(jié)問題。4)開發(fā)程序的方便性,Qt提供了可視化的開發(fā)工具QtDesigner,使用該工具可以直接向項目中添加各種組件。Qt還為應用程序的本地化提供完全支持,所有用戶界面文本都可以被譯成各國語言。2開發(fā)過程21主機與目標機環(huán)境的建立嵌入式系統(tǒng)應用軟件的開發(fā)屬于跨平臺開發(fā),需要一個交基于嵌入式圖形界面開發(fā)與應用30完成以上兩步,就建立好了主機RedHat90和目標機#exptLD_LIBRARY_PATH=$QTDIR/libTQ244

9、0的開發(fā)環(huán)境。宿主機RedHat90裝有諾基亞公司的4)設置好Qt/Embedded環(huán)境變量之后,在宿主機上就要自由版軟件包Qtopia-free-src-220rargz。Qtopia220安對heollcpp進行編譯:裝包包含了qt-x11-3X、qt-x11-2X、Qt/Embedded2312和#qmake-project//生成pro文件#qmake//生成Makefileqtopia220。開發(fā)Qt/Embedded應用程序

10、所需要的工具見表#geditMakefile//gcc替換arm-linux-gccg++替換為1。此外還需要相應的庫(1ibqte、libqpe、libqtopia)和必要的頭文件支持。arm-linux-g++#make//編譯生成目標機上可執(zhí)行的文件表1開發(fā)Qt/Embedded應用程序所需要的工具3在目標機上運行程序?qū)⒕幾g好的Qt/Embedded可執(zhí)行文件,載到Linux宿主機的共享分區(qū),讓qte程序直接運行在嵌入式目標系統(tǒng),

11、并進行調(diào)試。調(diào)試成功以后,就可以把程序固化到系統(tǒng)的Flash存儲器中。以heollcpp程序為例,在交叉編譯好之后,就可以在目標機上運行,如圖3。22創(chuàng)建Qt應用程序Qt應用程序中,首先是在maincpp中創(chuàng)建QApplication對象,QApplication類負責圖像用戶界面應用程序的控制流和主設置,它包含主事件循環(huán),在其窗口系統(tǒng)和其它資源的所有事件被處理和調(diào)度,它也處理應用程序的初始化和結(jié)束并提供對話管理。我們以heollcpp

12、例子為例。#include<qapplicationh>//QApplication類的定義#include<qpushbuttonh>//定義QPushButton類intmain(intargc觹觹argv)//函數(shù)是程序的入口邀QApplicationa(argcargv)//a是程序的QApplication圖3運行結(jié)果QPushButtonhello(″Hellowld選″0)//按鈕被設置成顯示并4結(jié)束語且它構成了一個窗口嵌

13、入式產(chǎn)品已經(jīng)成為新的技術熱點,上層應用程序是產(chǎn)品helloresize(10030)//按鈕設置成100像素寬,30像素高的直接功能體現(xiàn)。Qt/Embedded因其面向?qū)ο蟆⒖缙脚_和界面asetMainWidget(&hello)//按鈕被選為這個應用程序的主窗口部件helloshow()//用show()來使它變?yōu)榭梢姷膔eturnaexec()//這里就是main()把控制轉(zhuǎn)交給Qt,并設計更美觀而得到廣泛的應用。結(jié)合具體的設計實例

14、介紹了基于Qt/Embedded的嵌入式Linux應用程序開發(fā)過程,并編譯調(diào)試實現(xiàn)。QT/Embedded是比較理想的GUI開發(fā)組件。且當應用程序退出的時候exec()就會返回參考文獻妖[1]劉嵐基于ARM的嵌入式系統(tǒng)開發(fā)[M]北京:電子工業(yè)出版社23交叉編譯,在宿主機設置交叉編譯器為1)RedHat90arm-linux-gcc2008[2]ARM楊水清嵌入式v323,#gedit/etc/profile添加如下內(nèi)容Linux系統(tǒng)開發(fā)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論