QT在國產(chǎn)操作系統(tǒng)中的應(yīng)用_第1頁
QT在國產(chǎn)操作系統(tǒng)中的應(yīng)用_第2頁
QT在國產(chǎn)操作系統(tǒng)中的應(yīng)用_第3頁
QT在國產(chǎn)操作系統(tǒng)中的應(yīng)用_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、QT在國產(chǎn)操作系統(tǒng)中的應(yīng)用QT在國產(chǎn)操作系統(tǒng)中的應(yīng)用一、引言在信息化建立過程中,隨著計算機(jī)技術(shù)的快速開展,尤其近幾年國家重視支持國產(chǎn)軟件的開展,一系列國家政策的發(fā)布以及在核高基(核心電子器件、高端通用芯片及根底軟件產(chǎn)品)的推動下,誕生了中標(biāo)麒麟、紅旗Linux等中文操作系統(tǒng)。從某個層面講,操作系統(tǒng)的天下不再是微軟獨(dú)大了。這些操作系統(tǒng)產(chǎn)品的誕生對打破微軟在中國的壟斷地位,保護(hù)我國信息系統(tǒng)的平安,促進(jìn)民族軟件產(chǎn)業(yè)的開展具有重要的戰(zhàn)略意義。但目前針對國產(chǎn)操作系統(tǒng),許多優(yōu)秀的界面開發(fā)工具因受限于操作系統(tǒng)的限制,不能在國產(chǎn)操作系統(tǒng)上使用,或者說沒有在微軟操作系統(tǒng)使用那么方便。Qt的強(qiáng)大跨平臺功能,無疑成

2、為國產(chǎn)操作系統(tǒng)支持可視化軟件開發(fā)的主要解決方案。Qt是Nkia開發(fā)的跨平臺的+圖形用戶界面應(yīng)用程序框架,完全面向?qū)ο蟮?很容易擴(kuò)展,移植性好,并且允許真正地組件編程。而良好封裝機(jī)制使得Qt的模塊化程度非常高,可重用性較好,對于用戶開發(fā)來說是非常方便的。目前Qt的強(qiáng)大功能及諸多優(yōu)點(diǎn)贏得許多巨頭IT廠商的青睞。二、QT的實(shí)現(xiàn)構(gòu)造原理QT程序是基于+編寫的,圖形用戶界面變成同時需要運(yùn)行效率和高程度的靈敏性。QT通過結(jié)合+的速度為這一領(lǐng)域提供了QT的對象模型。QT的實(shí)現(xiàn)構(gòu)造原理如下列圖:QT的集成開發(fā)環(huán)境Qtreatr,在國產(chǎn)操作系統(tǒng)的安裝與INDNS上的安裝幾乎沒什么區(qū)別,且已經(jīng)做到相當(dāng)?shù)娜诵曰?

3、用戶只是根據(jù)向?qū)镜牟襟E即可。在功能方面,Qtreatr包括工程生成向?qū)А⒏呒壍?代碼編輯器、閱讀文件及類的工具、集成了QtDesigner、圖形化的GDB調(diào)試前端,集成qake構(gòu)建工具等。在界面事件效勞方面,有如下幾個特性:一種被稱為信號和槽一種非常強(qiáng)大的事件和事件過濾器;可查詢和可設(shè)計的屬性項;根據(jù)上下文進(jìn)展國際化的字符串翻譯;完善的時間驅(qū)動的計時器等。QT把下面這些特性添加到了+當(dāng)中。這些大多是基于Qbjet的繼承,通過標(biāo)準(zhǔn)+技術(shù)實(shí)現(xiàn)的。QAppliatin是必須構(gòu)造的QT主對象,需要在一開場的時候就構(gòu)造這個對象,并把命令行參數(shù)傳遞給這個對象,每個QT應(yīng)用程序有且僅有一個QApplia

4、tin對象,該對象必須在做其他事之前創(chuàng)立,這個對象處理一些底層操作,如事件處理,字符串本地化和控制界面外觀等。現(xiàn)今的國產(chǎn)操作系統(tǒng)大多基于LINUX根底上開發(fā)的,所以所使用的編譯器與LINUX上一樣即可。而如今的國產(chǎn)操作系統(tǒng)也是做的非常的人性化,如中標(biāo)麒麟操作系統(tǒng),操作時幾乎與微軟的操作系統(tǒng)沒什么區(qū)別,讓不熟悉LINUX操作系統(tǒng)環(huán)境的用戶無需再去熟悉LINUX操作系統(tǒng)命令。在編譯運(yùn)行時只要點(diǎn)擊工具條中的編譯菜單,系統(tǒng)將自動調(diào)用編譯器進(jìn)展編譯運(yùn)行。三、內(nèi)部進(jìn)程通信在LINUX系統(tǒng)中開發(fā)QT內(nèi)部進(jìn)程有如下三個通信常用的三種機(jī)制:QP協(xié)議,Signal-Slt機(jī)制和FIF機(jī)制,而QP協(xié)議主要用于QT嵌

5、入式版本中。而對于桌面版的國產(chǎn)操作系統(tǒng),下面我們主要介紹Signal-Slt機(jī)制和FIF機(jī)制。(一)Signal-Slt機(jī)制要實(shí)現(xiàn)一個好的P庫必須解決對象間的通信的問題。在Qt中的對象間通信方法被稱作Signal-Slt,這也是Qt與其它一些方法的區(qū)別之一。一個類可以定義多個Signal和Slt,而且完全是平安的。Signal就好似是論文聯(lián)盟.Ll.事件,而Slt那么是響應(yīng)事件的方法,其實(shí)和一般的函數(shù)沒有太大的區(qū)別。而需要實(shí)現(xiàn)它們之間通信時,就將某個類的Slt和另外一個類的Signal連接起來,從而實(shí)現(xiàn)事件驅(qū)動。如下面語句:nnet(ui.nfir_btn,SIGNAL(liked(),thi

6、s,SLT(nfir();表示點(diǎn)擊界面中確實(shí)定按鈕,程序?qū)㈨憫?yīng)槽函數(shù)nfir()中的操作;當(dāng)然,這里的信號是預(yù)先定義好的信號,用戶在使用該機(jī)制時,可以根據(jù)需要自行定義信號。(二)FIF機(jī)制除了Qt內(nèi)部所特有的通信機(jī)制之外,一般操作系統(tǒng)中常用的進(jìn)程間通信機(jī)制同樣可以用于Qt系統(tǒng)內(nèi)部不同進(jìn)程之間的通信。如消息隊列、共享內(nèi)存、信號量、管道等機(jī)制,其中有些機(jī)制,如信號量,在Qt中重新進(jìn)展了封裝;有些機(jī)制那么可以直接調(diào)用操作系統(tǒng)的系統(tǒng)調(diào)用來實(shí)現(xiàn)。這里,管道是一種簡單實(shí)用的通信機(jī)制,用戶在對Qt內(nèi)部機(jī)制不甚理解的情況下,同樣可以使用這種方法實(shí)現(xiàn)對象進(jìn)程之間的通信。在基于Qt的應(yīng)用中,有很多應(yīng)用采用了一種客

7、戶機(jī)-效勞器形式,這時就可以利用FIF在客戶機(jī)和效勞器之間傳遞數(shù)據(jù)。例如,有一個效勞器,它負(fù)責(zé)接收底層程序發(fā)來的消息,同時,它與很多客戶機(jī)有關(guān),效勞器需要將收到的不同消息發(fā)送到不同的客戶機(jī),而每個客戶機(jī)也有懇求需要發(fā)給效勞器,進(jìn)而發(fā)給底層程序。效勞器接收底層發(fā)來的信息,然后根據(jù)收到的信息內(nèi)容,如首字節(jié)的內(nèi)容,將信息發(fā)到不同客戶端的管道中,實(shí)現(xiàn)對信息的正確分發(fā)。四、完美的界面設(shè)計要素使用過QT的編程者都會知道,QT的設(shè)計的圖形用戶界面是諸多開發(fā)工具的佼佼者。而結(jié)合微軟的人機(jī)界面和LINUX內(nèi)核的國產(chǎn)操作系統(tǒng)也是日漸完善,人機(jī)界面流暢完美,美觀大方。QT提供了一個可視化的開發(fā)工具設(shè)計器QtDesi

8、gner,使用該工具就像在indns中使用V+或者Delphi那樣可以直接向工程中添加各種組件,而無需一步一步地編寫代碼,這個特點(diǎn)是其它非可視化編程工具望塵莫及的。且在設(shè)計器中,可以通過預(yù)覽功能,隨時看界面運(yùn)行的效果。當(dāng)新建一個窗體是,系統(tǒng)將自動產(chǎn)生三個文件,即.UI文件,.h文件及.PP文件,其中.UI就是對應(yīng)的窗體文件,類似于Delphi中的.df文件,.h文件及.PP文件與V中的一樣,用戶在.h定義,在.PP中編寫相應(yīng)的代碼。QT不僅擁有一套完好的組件,而且用戶可以在使用其別人或自己所編制的組件參加到組件庫中,豐富自己的組件庫。用戶可以直接基于這些現(xiàn)成的組件開發(fā)出優(yōu)秀的界面;另外,QT的

9、繪畫工具類Qpainer,在任意一個繪畫設(shè)備上都可以潤色圖形,對于更高級的圖形可以結(jié)合使用penGL,用penGL就像使用QT中的任意一個組件一樣方便,而且比單獨(dú)使用penGL做的3D圖形效果更好。再者,QT擁有豐富的API函數(shù),大約有250多個+類,用戶可以根據(jù)需要直接引入使用。QT是直接基于XLIb的,并不依賴于tif工具包,所以它的執(zhí)行效率比一般基于微軟平臺的代碼要高,所以,QTDEinger作為作為國產(chǎn)操作系統(tǒng)下的用戶界面開發(fā)工具,是非常理想的。五、使用QTreater開發(fā)界面應(yīng)用程序的一般步驟(一)創(chuàng)立新工程運(yùn)行QTreater,點(diǎn)擊菜單【File】【NeFilerPrjet】,在彈出的對話框中,選擇Qt4GUIAppliatin,然后按K,設(shè)置保存途徑和一些設(shè)置選型后,一個基于GUI的工程就建好了。(二)添加和布置組件在新建的窗體中根據(jù)需要添加各種組件,并修改其屬性,然后再合理調(diào)整其布局。(三)連接組件的信號(Signal)和槽(Slt)用戶可以在初始化過程中,添加nnet連接語句,也可單擊Edit|nnets翻開編輯對話框,然后單擊Ne進(jìn)入一個新的連接,首先選擇事件的產(chǎn)生者,最后選擇和信號響應(yīng)事件的Slt。(四)編寫響應(yīng)事件代碼翻開與此.UI的.PP文件的編輯窗口,在適當(dāng)?shù)奈恢锰砑哟a。(五)保存

溫馨提示

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

最新文檔

評論

0/150

提交評論