一種嵌入式圖形用戶界面系統(tǒng)的設計與實現(xiàn)_第1頁
一種嵌入式圖形用戶界面系統(tǒng)的設計與實現(xiàn)_第2頁
一種嵌入式圖形用戶界面系統(tǒng)的設計與實現(xiàn)_第3頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 一種嵌入式圖形用戶界面系統(tǒng)的設計與實現(xiàn) 沒有消息隊列的子窗口或控件處理消息的流程如圖6 所示。 圖6 沒有消息隊列的窗口的消息處理流程 主窗口調用事件系統(tǒng)中的Post_Msg 或Send_Msg 函數(shù)向子窗口或控件發(fā)送消息,由于該窗口沒有自己的消息隊列,事件系統(tǒng)不會將該消息保存,而是直接調用該窗口的消息處理函數(shù)找到具體的事件處理方式完成這次窗口操作。這種消息傳遞方式中,發(fā)送消息和處理消息都在主窗口的線程中完成,向一個窗口發(fā)送消息相當于要求該窗口立刻對事件開展處理。 SKY-GUI 只設置了一個主窗口,即桌面。其他所有的窗口或對話框都作為桌面的子窗口而存在。 這樣

2、系統(tǒng)中只有一個窗口線程和一個消息隊列,種消息處理方式只存在于輸入抽象層和桌面之間,而窗口之間的消息處理都采用第二種方式,這樣系統(tǒng)的線程開銷和消息循環(huán)開銷會大大減少,從而提高其運行效率。 2. 4. 3 窗口之間的消息傳遞 窗口之間的消息傳遞根據(jù)消息類型的不同有兩種不同方式。 主窗口從消息隊列中取得的消息在SKY-GUI中稱為底層消息。這類消息是由主窗口處理,還是交給子窗口或是控件處理,是根據(jù)窗口定義中的pFocus 變量而定的。當一個窗口的pFocus 不為空時,表示該窗口上方有子窗口被用戶使用,消息應該交給它指向的子窗口處理,而這個子窗口也檢查自己的pFocus 變量, 依此類推; 只有當一

3、個窗口的pFocus 為空,表示該窗口位于屏幕的上方,得到的底層消息由窗口自身處理(如圖7 左邊流程)。 而當控件的狀態(tài)變化產(chǎn)生控件消息時,其消息處理的過程正好跟上面的流程相反??丶a(chǎn)生的消息首先由自己處理,有必要時再送給pParent 指針指向的父窗口處理,而后還有必要的話再送給父窗口的父窗口處理,也可以由主窗口送入消息隊列(如圖7 右邊流程)。 圖7 從消息隊列讀出的消息處理流程(左)和控件產(chǎn)生的消息處理流程(右)。 pFocus 變量和pParent 變量加上這樣樹形的窗口系統(tǒng)實質上是實現(xiàn)了很多GUI 系統(tǒng)中的窗口的Z序(窗口的上下順序) 功能。該功能是建立在子窗口顯示在其父窗口之上,且

4、控件顯示在其所屬窗口之上的思想上的。由于底層消息一般代表用戶對輸入設備的操作,所以應該送給位于屏幕上方的用戶正在使用的窗口處理,而控件消息一般代表著GUI 界面自上而下的圖形和數(shù)據(jù)變化過程,所以應該從上到下逐層處理。 3 實驗和測試 SKY-GUI 現(xiàn)已嵌入已有的視頻監(jiān)控系統(tǒng)項目中予以使用,它有下拉菜單、輸入框、密碼框、按鈕、軟鍵盤等十幾種控件,提供視頻監(jiān)控的操控界面和配置界面。其中的一個典型的界面如圖8 所示。 圖8 SKY-GUI 在視頻監(jiān)控系統(tǒng)中的典型界面。 為了測試其的性能,本文利用SKY-GUI 和開源的Qt 界面庫分別為視頻監(jiān)控系統(tǒng)制作了一套用戶界面,其參數(shù)比照如下表1 所示。 表1 SKY-GUI 與Qt 在視頻監(jiān)控系統(tǒng)中的性能比較。 很顯然,Qt 在嵌入式監(jiān)控系統(tǒng)中占用資源過多,導致其運行速度緩慢并影響到系統(tǒng)的正常編解碼。 而SKY-GUI 加上其所需的開源圖片和字體庫大小也不超過1 M,運行時只占用4 M 左右的內存,這在典型的嵌入式Linux 系統(tǒng)中完全可以承受,也不會影響到監(jiān)控系統(tǒng)本身的性能??梢钥闯?,Qt 要運用在該監(jiān)控系統(tǒng)中還需開展更深層次的剪裁和性能優(yōu)化,而SKY-GUI 則可滿足其對界面的功

溫馨提示

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

評論

0/150

提交評論