嵌入式linux GUI-Qt
隨著linux系統(tǒng)及基于linux系統(tǒng)的嵌入式產(chǎn)品的蓬勃發(fā)展,Qt、Qt/Embedded、Qtopia的字樣越來頻繁的出現(xiàn)在我們面前。在華清遠見的嵌入式培訓課程中,Qt是嵌入式學院嵌入式工程師職業(yè)培訓班>二期課程中嵌入式linux應用開發(fā)方面的重要內(nèi)容。不少學員對QT方面的內(nèi)容比較關(guān)注,所以在這里我們先對QT做一下簡單介紹。
本文引用地址:http://www.ex-cimer.com/article/257939.htmQt是一個多平臺的C++圖形用戶界面應用程序框架,由挪威 TrollTech 公司出品。它提供給應用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能。Qt是完全面向?qū)ο蟮暮苋菀讛U展,并且允許真正地組件編程。
自1996年Qt進入商業(yè)領(lǐng)域開始,它已經(jīng)成為全世界范圍內(nèi)數(shù)千種成功的應用程序的基礎(chǔ)。Qt也是流行的Linux桌面環(huán)境KDE 的基礎(chǔ),KDE是所有主要的Linux發(fā)行版的一個標準組件。
基本上,Qt 同 X Window (X Window是一種用于UNIX系統(tǒng)的標準圖形化用戶界面)上的 Motif、Openwin、GTK 等圖形界面庫和 Windows 平臺上的 MFC、OWL、VCL、ATL是同類型的東西,但是Qt 具有下列優(yōu)點:
● 優(yōu)良的跨平臺特性
Qt支持Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等操作系統(tǒng), Qt的跨平臺特性,是選擇Qt的一個非常重要的原因。對于相同功能的軟件,我們無須針對不同的操作系統(tǒng)編寫不同程序,只需將相同的代碼針對不同的環(huán)境編譯即可;
● 面向?qū)ο?/p>
Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對于用戶開發(fā)來說是非常方便的。Qt 提供了一種稱為 signals/slots(信號/槽) 的安全類型來替代 callback(回調(diào)函數(shù)),這使得各個元件之間的協(xié)同工作變得十分簡單;
● 豐富的API
● Qt 包括多達400個以上的 C++ 類,同時不斷擴展。
● 支持 2D/3D 圖形渲染,支持 OpenGL;
● XML 支持;
● 開放源碼
開放源優(yōu)勢包括一個活動的開放源開發(fā)員社團。由于Qt的不間斷開發(fā),以及完整的代碼透明性,以允許Qt開發(fā)員進行徹底深入地查看,進行自定義并擴展Qt來滿足其獨特的需求。
Qt/Embedded
Qt/Embedded是Qt的嵌入式版本,它在原始Qt的基礎(chǔ)上,做了許多出色的調(diào)整以適合嵌入式環(huán)境。同Qt/X11相比,Qt/Embedded很節(jié)省內(nèi)存,因為它不需要X server或是Xlib庫,它在底層摒棄了Xlib,采用framebuffer作為底層圖形接口。Qt/Embedded的應用程序可以直接寫內(nèi)核幀緩沖,因此它在嵌入式linux系統(tǒng)上的應用非常廣泛。
最后再了解下Qtopia
在Qt/Embedded版本4之前,Qt/Embedded和Qtopia是兩套不同的程序,Qt/Embedded是基礎(chǔ)類庫,Qtopia是構(gòu)建于Qt/Embedded之上的一系列應用程序。但從版本4開始,Trolltech將Qt/Embedded并入了Qtopia,并推出了新的Qtopia4。在該版中,原來的Qt/Embedded被稱為Qtopia Core,作為嵌入式版本的核心,既可以與Qtopia配合,也可以獨立使用。原來的Qtopia則被分成幾層,核心的應用框架和插件系統(tǒng)被稱為 Qtopia Platform,上層的應用程序則按照不同的目標用戶分為不同的包,如Qtopai PDA,Qtopia Phone等。
于Qt方面的內(nèi)容,除了Qt、基于 Framebuffer(幀緩沖) 的 Qt /Embedded外,還有快速開發(fā)工具 Qt Designer以及國際化工具 Qt Linguist 等。(華清遠見嵌入式培訓中心系列入門文章之Qt初識)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論