国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

嵌入式Linux系統(tǒng)的圖形用戶界面

發(fā)布時(shí)間:2011-4-4 18:04    發(fā)布者:1640190015
當(dāng)今,在設(shè)計(jì)嵌入式Linux產(chǎn)品的圖形用戶界面時(shí),用到的工具主要有以下幾種:
    1. Qt/Embedded
    Qt是Trolltech公司發(fā)布的一個(gè)跨平臺(tái)的C++圖形界面應(yīng)用程序框架。它實(shí)際上是一個(gè)類(lèi)庫(kù),里面包括了大量的可重用的類(lèi),其中既有按鈕、窗口等這些可見(jiàn)類(lèi),也有定時(shí)器這樣的不可見(jiàn)類(lèi)和一些抽象類(lèi)。Qt是完全面向?qū)ο螅瑩碛辛己玫臄U(kuò)展性與穩(wěn)定性,并支持模塊化編程。我們可以充分利用Qt高度面向?qū)ο蠛湍K化的特征,從繁瑣的X編程中解脫出來(lái),專注于程序本身的內(nèi)容,使Linux下窗口程序設(shè)計(jì)成為一件非常輕松的事情。不可見(jiàn)類(lèi)和一些抽象類(lèi)。Qt是完全面向?qū)ο螅瑩碛辛己玫臄U(kuò)展性與穩(wěn)定性,并支持模塊化編程。我們可以充分利用Qt高度面向?qū)ο蠛湍K化的特征,從繁瑣的X編程中解脫出來(lái),專注于程序本身的內(nèi)容,使Linux下窗口程序設(shè)計(jì)成為一件非常輕松的事情。
    在Qt中,對(duì)象之間進(jìn)行通信采用了一種被稱作信號(hào)與槽(Signal-Slot)的方式,這是Qt的重要特征之一。在MS-Windows中,程序通過(guò)消息隊(duì)列和消息循環(huán)的方式進(jìn)行消息的傳遞與事件的觸發(fā),而Qt的信號(hào)與槽機(jī)制采取了這樣的方式:一個(gè)類(lèi)可以定義多個(gè)信號(hào)和多個(gè)槽,信號(hào)就好像是事件,而槽則是響應(yīng)事件的方法,并且和一般的成員函數(shù)沒(méi)有太大的區(qū)別。如果需要實(shí)現(xiàn)它們之間的通信時(shí),就將某個(gè)類(lèi)的槽與某個(gè)類(lèi)的信號(hào)連接起來(lái),從而實(shí)現(xiàn)事件驅(qū)動(dòng)。
    Qt/Embedded是Qt的嵌入式Linux版本。因?yàn)镼t是KDE等項(xiàng)目使用的GUI庫(kù),所以有許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上。因此,自從Qt/Embedded以GPL條款形式發(fā)布以來(lái),就有大量的嵌入式Linux開(kāi)發(fā)商轉(zhuǎn)到了Qt/Embedded系統(tǒng)上。但是Qt/Embedded的問(wèn)題是過(guò)于龐大,盡管Qt/Embedded聲稱可以裁剪到最少630K,但這時(shí)的Qt/Embedded庫(kù)已經(jīng)基本上失去了使用價(jià)值。Qt/Embedded庫(kù)目前主要針對(duì)手持式信息終端。因?yàn)閷?duì)硬件加速支持匱乏,很難應(yīng)用到對(duì)圖形速度、功能和效率要求較高的嵌入式系統(tǒng)中,比如機(jī)頂盒、游戲終端等。
    2. MicroWindows/NanoX
    MicroWindows是一個(gè)開(kāi)源的項(xiàng)目,由美國(guó)Century Software公司主持開(kāi)發(fā)。MicroWindows能夠在沒(méi)有任何操作系統(tǒng)或其他圖形系統(tǒng)支持的情況下運(yùn)行,它能對(duì)裸設(shè)備進(jìn)行直接操作。這樣MicroWindows就顯得十分小巧,便于移植到各種硬件和軟件系統(tǒng)上。MicroWindows是分層設(shè)計(jì)的,這樣便于用戶按照自己的需求進(jìn)行修改、刪減和增加。它分為三層:最底層是screen、mouse/touchpad和keyboard驅(qū)動(dòng)程序,它們直接與顯示和輸入硬件打交道;中間層是一個(gè)可移植的圖形引擎層,它使用最底層提供的功能完成對(duì)畫(huà)線、區(qū)域填充、文本、多邊形、區(qū)域裁剪、色彩等的支持;最上層是API,提供給圖形化程序調(diào)用。目前,這些API支持Win32和NanoX接口。這樣一來(lái),它們就與Win32和X Window窗口系統(tǒng)保持了兼容,在這些系統(tǒng)間移植應(yīng)用軟件就要容易得多。
    該項(xiàng)目的主要特色在于提供了類(lèi)似X的客戶/服務(wù)器體系結(jié)構(gòu),并提供了相對(duì)完善的圖形功能。
    3. MiniGUI
    MiniGui是國(guó)內(nèi)的一個(gè)自由軟件項(xiàng)目,目前,MiniGui由北京飛漫軟件公司負(fù)責(zé)開(kāi)發(fā)。MiniGui有兩個(gè)不同架構(gòu)的版本。最初的MiniGui運(yùn)行在PThread庫(kù)之上,這個(gè)版本適合于功能單一的嵌入式Linux系統(tǒng),但存在系統(tǒng)健壯性不夠的缺點(diǎn)。在0.9.98版本中,引入了MiniGui-Lite版本,這個(gè)版本允許在不同的進(jìn)程中創(chuàng)建應(yīng)用程序,但同時(shí)只能有一個(gè)進(jìn)程運(yùn)行。
    MiniGui具有如下特點(diǎn):
    (1)微客戶/服務(wù)器結(jié)構(gòu):因?yàn)镸iniGui客戶/服務(wù)器體系在一個(gè)進(jìn)程中實(shí)現(xiàn),所以稱之為微客戶/服務(wù)器結(jié)構(gòu)。在MiniGui中,有一個(gè)線程,即服務(wù)器線程負(fù)責(zé)維護(hù)全局的窗口列表,而其他線程不能直接修改這些全局的數(shù)據(jù)結(jié)構(gòu)。而是通過(guò)請(qǐng)求服務(wù)的模式來(lái)完成。例如,當(dāng)一個(gè)線程要求桌面線程創(chuàng)建一個(gè)窗口時(shí),該線程通過(guò)向桌面線程發(fā)送消息,然后等待桌面線程的相應(yīng),由桌面線程完成請(qǐng)求的任務(wù)后再通知請(qǐng)求線程這樣一種方式來(lái)實(shí)現(xiàn)。
    (2)多線程多窗口:MiniGui的窗口包括:主窗口、子窗口、對(duì)話框、控件。MiniGui的主窗口與附屬主窗口對(duì)應(yīng)于一個(gè)單獨(dú)的線程,通過(guò)函數(shù)調(diào)用可建立主窗口以及對(duì)應(yīng)的線程,每個(gè)線程都有一個(gè)消息隊(duì)列,屬于同一線程的所有主窗口從這一消息隊(duì)列中獲取消息并由注冊(cè)的窗口過(guò)程進(jìn)行處理。
    (3)消息與消息循環(huán):MiniGui是典型的消息驅(qū)動(dòng)的系統(tǒng)。擁有單獨(dú)線程與消息隊(duì)列的窗口自創(chuàng)建后就處于消息循環(huán)中,讀取消息隊(duì)列中的消息并處理消息,直到接收到特定的消息為止。
    4. OpenGUI
    OpenGui在嵌入式Linux系統(tǒng)上已經(jīng)存在了很長(zhǎng)的時(shí)間了。最初的名字叫FastGL,支持多種操作系統(tǒng)平臺(tái),比如MS-DOS、QNX和Linux等,不過(guò)目前只支持x86硬件平臺(tái)。OpenGui也分為三層。最底層是由匯編編寫(xiě)的快速圖形引擎;中間層提供了圖形繪制API,包括線條、矩形、圓弧等;第三層用C++編寫(xiě),提供了完整的GUI對(duì)象集。OpenGui比較適合于基于x86平臺(tái)的實(shí)時(shí)系統(tǒng),可移植性稍差,目前的發(fā)展也基本停滯。
    綜上所述,面向嵌入式Linux的GUI系統(tǒng)已經(jīng)發(fā)展了很長(zhǎng)時(shí)間,有些已經(jīng)是比較成熟的產(chǎn)品了,同時(shí)也得到了較為廣泛的利用,例如Qt/Embedded目前已使用到了PDA和手機(jī)產(chǎn)品中,Motorola公司于2003年推出的手機(jī)產(chǎn)品中就使用了Qt/Embedded。而MicorWindows等輕量級(jí)的GUI系統(tǒng)在工控機(jī)、機(jī)頂盒等產(chǎn)品中也得以發(fā)揮其價(jià)值。
本文地址:http://m.qingdxww.cn/thread-61112-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
mrsh123 發(fā)表于 2011-4-5 16:49:42
很全面
zzm天龍 發(fā)表于 2011-4-5 17:38:13
jnwahaha 發(fā)表于 2011-4-6 09:32:19
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來(lái)節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日本韩国一区二区三区 | 国产精品久久久久不卡绿巨人 | 男人天堂aaa | 国产精品免费精品自在线观看 | 一级毛片无毒不卡直接观看 | 日韩欧美亚洲乱码中文字幕 | 日韩欧美在线中文字幕 | 日本不卡免费高清一级视频 | 乱在线伦视频免费 | 国内精品91最新在线观看 | 亚洲影视精品 | 一级做性色a爰片久久毛片免费 | 亚洲综合导航 | 青青操免费 | 亚洲免费a| 欧洲欧美成人免费大片 | 四虎在线视频观看大全影视 | 一个色亚洲 | 国产骚片| 综艺在线看免费高清 | 久久久久久久国产视频 | 欧美超强性xxxxx | 日韩黄毛片 | 伊人青青久 | 麻豆视频网站在线观看 | 欧美三级不卡在线观线看高清 | 免费色视频| 国产精品自拍视频 | 最新国产午夜精品视频成人 | 欧美性猛交xx免费看 | 高清在线一区二区 | 黑人巨大人精品欧美三区 | 特级a毛片 | 在线视频 自拍 | 香蕉成人福利片视频在线下载 | 国产免费高清在线精品一区 | 欧美一区二区三区香蕉视 | 996久久国产精品线观看导航 | 免费不卡中文字幕在线 | 日韩在线欧美 | 九九99视频在线观看视频观看 |