<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Qt/E的嵌入式GUI的研究及其移植

          基于Qt/E的嵌入式GUI的研究及其移植

          作者: 時間:2012-03-21 來源:網絡 收藏

          1 引言

          圖形用戶界面系統(tǒng)(GUI)是系統(tǒng)級的底層軟件,它可以和文件系統(tǒng)、操作系統(tǒng)內核等一起構成一個完整的操作系統(tǒng)。GUI 為用戶提供了與應用系統(tǒng)交互的可視化通道,同時GUI為程序員提供了一種編程模式,即GUI負責系統(tǒng)的可視化界面的生成、管理以及系統(tǒng)與用戶之間的信息交互,而程序員只需專注于對實際應用的分析。

          除了以上特點,還要求簡單、直觀、可靠、占用資源小且反應快速,以適應嵌入式系統(tǒng)硬件資源有限的條件。另外,由于嵌入式硬件本身的特殊性,應具備高度可性和可裁剪性,以適應不同硬件平臺的需求。

          2 國內外幾種系統(tǒng)實現(xiàn)方式與特點

          為了適應日益擴大的嵌入式Linux市場的需求,國內外的相關研究機構和開發(fā)商已經或者正在開發(fā)一大批嵌入式圖形系統(tǒng)項目和原型產品。其中較為著名的開放源碼項目有Tiny X(小型的X窗口系統(tǒng))、Microwindows、MiniGUI、Qt/等。

          Tiny X:是標準X-windows在嵌入式系統(tǒng)的小巧實現(xiàn),作為一個圖形環(huán)境,X-window是成功的,但由于在體系接口上的原因,限制了它對游戲、多媒體的支持能力。

          Microwindows:典型的基于Server/Clinent體系結構的GUI系統(tǒng),提供了相對完善的圖形功能和一些高級的特性,如 Alpha混合、三維支持等。該系統(tǒng)為了提高運行速度,也改進了基于Socket套接字的X實現(xiàn)模式,采用了基于消息機制的Server/Client傳輸機制。

          MiniGUI:由國內自由軟件開發(fā)人員設計開發(fā),是一種面向嵌入式系統(tǒng)或者實時系統(tǒng)的圖形界面支持系統(tǒng)。MiniGUI具有資源消耗小、速度快、效率高的特點,但目前還不是很成熟,主要表現(xiàn)在:體系結構不完善,自有圖形引擎的功能較弱,控件的可定制性不好,基于線程機制的系統(tǒng)脆弱性在復雜應用中更為突出,尤其是缺少一個方便的圖形開發(fā)環(huán)境。

          Qt/:縮寫為Qt/E,Qt是Trolltech公司的產品,是一個多平臺的C++圖形用戶界面應用程序框架,它注重于給用戶提供精美的圖形用戶界面所需要的所有元素。而且它是基于一種面向對象的思想,所以用戶對其對象的擴展是相當容易的,并且他還支持真正的組件編程[1]。這也是本文將要重點介紹的內容。

          3 Qt/E的介紹及開發(fā)環(huán)境的建立

          3.1 Qt/E體系結構

          3.1.1 交叉開發(fā)平臺

          Qt是用于本地化跨平臺應用開發(fā)的領先性框架。Qt所有平臺的API是一致的。這就意味著在一種平臺上寫的應用程序,在新的平臺上經過重新編譯和連接便能運行于該新平臺上。因此,軟件開發(fā)者通過開發(fā)和維護一種平臺的應用源碼來用于多種平臺的開發(fā)。同樣,嵌入式Qt也可以基于Qt的軟件到嵌入式 Linux中。Qt可提供的平臺,如圖1:

          圖1 Qt可提供平臺

          Qt/Windows:用于Microsoft Windows xp、2000、NT4、Me/98。Qt庫使用Windows的GDI API來實現(xiàn),并且使用微軟的窗口系統(tǒng);Qt/X11:包括Linux、HP-UX、Sun Solaris、Digital UNIX、SGI Irix、IBM AIX等。Qt庫使用X11庫來實現(xiàn),并且使用X窗口系統(tǒng);Qt/E:包括一個完整的窗口系統(tǒng),并允許設計者輕易地加入各種顯示設備和硬件輸入設備(如鼠標、鍵盤、觸摸屏等);Qt/Mac:用于Mac OS X平臺。Qt對不同平臺的專門API進行了封裝,如文件處理、網絡(操作,協(xié)議)、進程處理、線程、數據庫訪問等。

          3.1.2 Qt/E的窗口系統(tǒng)

          Qt/E的窗口系統(tǒng)采用一種客戶/服務器體系結構,如圖2所示。一個典型的嵌入式Qt窗口系統(tǒng)一般包括一個服務器進程、一個或多個客戶進程(簡稱服務器和客戶)。服務器負責為客戶和其本身分配顯示區(qū)域、生成鼠標和鍵盤事件。而客戶則通過與服務器通信來申請顯示區(qū)域,接收鼠標和鍵盤事件??蛻艨梢灾苯釉L問所分配的顯示區(qū)域,以便為用戶提供GUI服務。服務器和客戶通過共享內存的方式來傳遞所有分配顯示區(qū)域上的信息。

          圖2 Qt/窗口系統(tǒng)體系結構


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();