資源描述:
《Linux圖形界面設(shè)計(jì)綜述【文獻(xiàn)綜述】》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、畢業(yè)論文文獻(xiàn)綜述電子信息工程Linux圖形界面設(shè)計(jì)綜述摘要:Linux圖形界面設(shè)計(jì)中一般應(yīng)用X11、OpenGUI和QT等GUI設(shè)計(jì)平臺。Qt是一個(gè)跨平臺的C++圖形用戶界面應(yīng)用程序框架,得到了越來越廣泛的應(yīng)用[1]。重點(diǎn)對Qt的核心特性——信號與槽機(jī)制進(jìn)行了分析,詳細(xì)描述Qt跨平臺的開發(fā)工具及其開發(fā)程序的方便性,功能的強(qiáng)大,高性能等方面的特點(diǎn)和優(yōu)勢[2]。關(guān)鍵字:X11;OpenGUI;圖形用戶界面(GUI);Qt;信號與槽1.引言在嵌入式系統(tǒng)這個(gè)IT產(chǎn)業(yè)的新領(lǐng)域,Linux以其所具備的穩(wěn)定、高效、易定制、易裁減、硬件支持廣泛的特點(diǎn) ,結(jié)合其免費(fèi)、源碼開放
2、的特征。使得Linux在嵌入式操作系統(tǒng)中的地位越來越重要[3]。嵌入式系統(tǒng)是以應(yīng)用為中心以計(jì)算機(jī)技術(shù)為基礎(chǔ)且軟硬件均可裁剪的專用計(jì)算機(jī)系統(tǒng),用于對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的應(yīng)用領(lǐng)域系統(tǒng)[4]。嵌入式系統(tǒng)的發(fā)展已有20多年的歷史,雖然目前已出現(xiàn)了很多基于Linux的嵌入式系統(tǒng),但由于嵌入式系統(tǒng)本身硬件的條件限制,常用PC機(jī)的GUI系統(tǒng)不適合在其上運(yùn)行。嵌入式系統(tǒng)對GUI有著特殊的要求:由于嵌入式系統(tǒng)對實(shí)時(shí)性要求非常高,對GUI的要求也高,所以這種系統(tǒng)一般不宜建立在龐大臃腫、非常消耗系統(tǒng)資源的操作系統(tǒng)和GUI之上,如Windows或XWindow
3、均過于龐大和臃腫.因此,這些系統(tǒng)對輕型GUI的需求更加突出.另外嵌入式系統(tǒng)往往是一種定制設(shè)備。它們對GUI的需求也必須是可定制的[5].所以,嵌入式系統(tǒng)對GUI的基本要求包括輕型、占用資源少、高性能、高可靠性和可配置[6]。2.Linux圖形界面編程的概述2.1XwindowsXFree864.X(帶幀緩沖區(qū)支持的X11R6.4)XWindow是高度可配置的,它只是定義了一系列最基本的顯示功能調(diào)用,而沒有規(guī)定的圖形窗口的樣式[6]。圖形窗口的樣式由程序員開發(fā)的窗口程序完成,從而使得XWindow的風(fēng)格多種多樣,用戶可根據(jù)自己的喜好定制圖形界面。1984年,麻
4、省理工學(xué)院(MIT)電腦科學(xué)研究室開發(fā)XWindow。1989年,MIT和數(shù)學(xué)設(shè)備公司(DEC)對XWindow協(xié)議進(jìn)行重新設(shè)計(jì),推出了XWindow第11版,即X11[7]。XFree86是一個(gè)由XFree86Project公司開發(fā)的可以重復(fù)分發(fā)、開放源碼的Xwindow系統(tǒng)。Xwindow系統(tǒng)X(11)為應(yīng)用程序以圖形方式進(jìn)行顯示提供了資源,并且它是Unix和類。Unix的機(jī)器上最常用的窗口系統(tǒng).它很小但很有效,可運(yùn)行在眾多的硬件上,對網(wǎng)絡(luò)透明并且有良好的文檔說明.X11為窗口管理、事件處理、同步和客戶機(jī)間通信提供強(qiáng)大的功能, 并且大多數(shù)開發(fā)人員已經(jīng)熟悉
5、了它的API。X11具有對內(nèi)核幀緩沖區(qū)的內(nèi)置支持,并占用非常少的資源,這非常有助于內(nèi)存相對較少的設(shè)備。X服務(wù)器支持VGA和非VGA圖形卡,它對顏色深度1?2?4?8?16和32提供支持,并對渲染提供內(nèi)置支持,最新的發(fā)行版是XFree864.1.0.X11的優(yōu)點(diǎn)包括:幀緩沖區(qū)體系結(jié)構(gòu)的使用提高了系統(tǒng)性能,占用的資源相對很?。笮≡?00K~700K的范圍內(nèi),這使它很容易在小型設(shè)備上運(yùn)行;非常好的支持:在線有許多文檔可用,還有許多專用于XFree86開發(fā)的郵遞列表;XAPI非常適合擴(kuò)展。X11的缺點(diǎn)包括:比最近出現(xiàn)的嵌入式GUI工具性能差;與Nano-X或QT/
6、Embedded相比,XFree86需要更多的內(nèi)存[6]. 2.2OpenGUIOpenGUI在Linux系統(tǒng)上存在已經(jīng)很長時(shí)間了。最初的名字叫FastGL,只支持256色的線性顯存模式,但目前也支持其他顯示模式,并且支持多種操作系統(tǒng)平臺,如MS-DOS、QNX和Linux等,不過目前只支持x86硬件平臺。OpenGUI也分為三層。最低層是由匯編語言編寫的快速圖形引擎;中間層提供了圖形繪制API,包括線、矩形、圓弧等,并且兼容于Borland的BGI?。粒校?。第三層用C++編寫,提供了完整的GUI集。OpenGUI提供了一個(gè)二維繪圖原語,并提供對消息驅(qū)動(dòng)的A
7、PI及BMP文件格式的支持。OpenGUI功能強(qiáng)大,使用方便。OpenGUI支持鼠標(biāo)和鍵盤的事件,在Linux上基于Framebuffer或者SVGALib實(shí)現(xiàn)繪圖。由于其基于匯編實(shí)現(xiàn)的內(nèi)核并利用MMX指令進(jìn)行了優(yōu)化, 所以O(shè)penGUI運(yùn)行速度非???。但也由于它的內(nèi)核是用匯編實(shí)現(xiàn)的,所以可移植性受到了影響。在驅(qū)動(dòng)程序一級,可移植性和性能是矛盾的,開發(fā)人員必須取其折衷。另外,OpenGUI采用LGPL條款發(fā)布。OpenGUI比較適合于基于x86平臺的實(shí)時(shí)系統(tǒng),但目前的發(fā)展基本停滯[6]。2.3MiniGUIMiniGUI是由清華大學(xué)魏永明主持開發(fā)并由許多自由
8、軟件開發(fā)人員支持的一個(gè)自由軟件項(xiàng)目,其目標(biāo)是為基于L