資料介紹
隨著對(duì)嵌入式系統(tǒng)體積小型化和操作人性化的要求,以及大尺寸觸摸式顯示屏的廣泛應(yīng)用,在嵌入式系統(tǒng)中采用軟鍵盤實(shí)現(xiàn)字符的輸入,已經(jīng)成為目前的發(fā)展主流。QT是一個(gè)跨平臺(tái)的C++圖形界面庫(kù),是由挪威TrollTech公司推出的產(chǎn)品。它采用的是面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,因此,具有良好的可擴(kuò)展性和可移植性,同時(shí)支持多個(gè)GUI平臺(tái)的交互開(kāi)發(fā)。QT采用了良好的封裝機(jī)制,使得它的模塊化程度非常高,可重用性好,開(kāi)發(fā)方便。憑借其良好的性能,QT已成為目前GUI開(kāi)發(fā)中使用最為廣泛的圖形界面庫(kù)之一。QT/E(QT/Embedded)是用于嵌入式系統(tǒng)的QT版本。QT/E去掉了對(duì)XLib的依賴而直接工作于Frame Buffer上,因而效率更高,文中主要使用QT4.5.3版本,在嵌入式Linux環(huán)境下實(shí)現(xiàn)軟鍵盤設(shè)計(jì)。
1 QT/E體系結(jié)構(gòu)
QT/E是2001年Trolltech公司開(kāi)發(fā)的一款面向嵌入式系統(tǒng)的QT版本。它采用輕量級(jí)窗口系統(tǒng),完全摒棄了底層的XLib,以Framebuffer作為底層圖形接口,極大地減少了對(duì)內(nèi)存的消耗。QT/E在上層仍然保持著原來(lái)的QT架構(gòu),因此,針對(duì)在Xwindow上設(shè)計(jì)的QT程序仍然具有很好的移植性。QT/E的基本體系結(jié)構(gòu)如圖1所示。

1)QT/E體系結(jié)構(gòu)中的圖形引擎是通過(guò)相關(guān)的圖形算法和Framebuffer操作底層的硬件設(shè)備來(lái)實(shí)現(xiàn)的;事件驅(qū)動(dòng)則是通過(guò)底層的輸入輸出設(shè)備驅(qū)動(dòng)來(lái)實(shí)現(xiàn)對(duì)外界事件的響應(yīng)。
2)如圖1所示,由圖形引擎層實(shí)現(xiàn)對(duì)圖形界面的繪圖操作,然后由QT基本類提供對(duì)外界的操作接口。其中,圖形類提供圖形操作接口,比如:畫(huà)線、畫(huà)矩形等;控件類通過(guò)繼承公共抽象類QWidget來(lái)實(shí)現(xiàn)基本的控件,為外界提供接口。
2 QT/E通信機(jī)制
在圖形界面編程時(shí),我們經(jīng)常要實(shí)現(xiàn)界面之間的相互切換或者相互通知,更具體的來(lái)說(shuō)就是需要實(shí)現(xiàn)類與類之間的相互通信。比如,在軟鍵盤的設(shè)計(jì)中,當(dāng)一個(gè)事件產(chǎn)生時(shí),系統(tǒng)就會(huì)發(fā)出一個(gè)信號(hào)。信號(hào)和槽(Signal&slot)機(jī)制是QT的核心特征,在QT庫(kù)中有很多已經(jīng)設(shè)置好的信號(hào),比如:clicked()、triggered()等,開(kāi)發(fā)人員也可以根據(jù)需要來(lái)自定義某些信號(hào)。事件的響應(yīng)對(duì)應(yīng)著QT窗口里的槽函數(shù),和信號(hào)類似,系統(tǒng)有很多預(yù)定義的槽,比如exit()、quit()等,用戶也可以根據(jù)需要來(lái)添加自己的槽函數(shù)。
當(dāng)對(duì)象改變其狀態(tài)時(shí),信號(hào)就由該對(duì)象發(fā)射(emit)出去,這就是對(duì)象所要做的全部事情,它不知道另一端是誰(shuí)在接收這個(gè)信號(hào)。這就是真正的信息封裝,它確保對(duì)象被當(dāng)作一個(gè)真正的軟件組件來(lái)使用。槽用于接收信號(hào),但它們是普通的對(duì)象成員函數(shù)。一個(gè)槽并不知道是否有任何信號(hào)與自己相連接。而且,對(duì)象并不了解具體的通信機(jī)制??梢詫⒑芏嘈盘?hào)與單個(gè)槽進(jìn)行連接,也可以將單個(gè)信號(hào)與很多槽進(jìn)行連接,甚至于將一個(gè)信號(hào)與另外一個(gè)信號(hào)相連接也是可能的。
1 QT/E體系結(jié)構(gòu)
QT/E是2001年Trolltech公司開(kāi)發(fā)的一款面向嵌入式系統(tǒng)的QT版本。它采用輕量級(jí)窗口系統(tǒng),完全摒棄了底層的XLib,以Framebuffer作為底層圖形接口,極大地減少了對(duì)內(nèi)存的消耗。QT/E在上層仍然保持著原來(lái)的QT架構(gòu),因此,針對(duì)在Xwindow上設(shè)計(jì)的QT程序仍然具有很好的移植性。QT/E的基本體系結(jié)構(gòu)如圖1所示。

1)QT/E體系結(jié)構(gòu)中的圖形引擎是通過(guò)相關(guān)的圖形算法和Framebuffer操作底層的硬件設(shè)備來(lái)實(shí)現(xiàn)的;事件驅(qū)動(dòng)則是通過(guò)底層的輸入輸出設(shè)備驅(qū)動(dòng)來(lái)實(shí)現(xiàn)對(duì)外界事件的響應(yīng)。
2)如圖1所示,由圖形引擎層實(shí)現(xiàn)對(duì)圖形界面的繪圖操作,然后由QT基本類提供對(duì)外界的操作接口。其中,圖形類提供圖形操作接口,比如:畫(huà)線、畫(huà)矩形等;控件類通過(guò)繼承公共抽象類QWidget來(lái)實(shí)現(xiàn)基本的控件,為外界提供接口。
2 QT/E通信機(jī)制
在圖形界面編程時(shí),我們經(jīng)常要實(shí)現(xiàn)界面之間的相互切換或者相互通知,更具體的來(lái)說(shuō)就是需要實(shí)現(xiàn)類與類之間的相互通信。比如,在軟鍵盤的設(shè)計(jì)中,當(dāng)一個(gè)事件產(chǎn)生時(shí),系統(tǒng)就會(huì)發(fā)出一個(gè)信號(hào)。信號(hào)和槽(Signal&slot)機(jī)制是QT的核心特征,在QT庫(kù)中有很多已經(jīng)設(shè)置好的信號(hào),比如:clicked()、triggered()等,開(kāi)發(fā)人員也可以根據(jù)需要來(lái)自定義某些信號(hào)。事件的響應(yīng)對(duì)應(yīng)著QT窗口里的槽函數(shù),和信號(hào)類似,系統(tǒng)有很多預(yù)定義的槽,比如exit()、quit()等,用戶也可以根據(jù)需要來(lái)添加自己的槽函數(shù)。
當(dāng)對(duì)象改變其狀態(tài)時(shí),信號(hào)就由該對(duì)象發(fā)射(emit)出去,這就是對(duì)象所要做的全部事情,它不知道另一端是誰(shuí)在接收這個(gè)信號(hào)。這就是真正的信息封裝,它確保對(duì)象被當(dāng)作一個(gè)真正的軟件組件來(lái)使用。槽用于接收信號(hào),但它們是普通的對(duì)象成員函數(shù)。一個(gè)槽并不知道是否有任何信號(hào)與自己相連接。而且,對(duì)象并不了解具體的通信機(jī)制??梢詫⒑芏嘈盘?hào)與單個(gè)槽進(jìn)行連接,也可以將單個(gè)信號(hào)與很多槽進(jìn)行連接,甚至于將一個(gè)信號(hào)與另外一個(gè)信號(hào)相連接也是可能的。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于QT-E的嵌入式Linux系統(tǒng)的軟鍵盤實(shí)現(xiàn)
- 嵌入式Linux的Qt
- 基于基于Qt的集成電路測(cè)試軟件設(shè)計(jì)方案 30次下載
- BLE實(shí)驗(yàn)詳解之藍(lán)牙鍵盤設(shè)計(jì)方案 58次下載
- Javascript編寫(xiě)的軟鍵盤代碼免費(fèi)下載 6次下載
- Linux下Qt的安裝 5次下載
- 基于嵌入式LINUX和QT/E實(shí)現(xiàn)矩陣鍵盤中文輸入 3次下載
- 嵌入式Linux系統(tǒng)的軟鍵盤實(shí)現(xiàn) 6次下載
- qt編寫(xiě)的觸摸小鍵盤 7次下載
- 基于QT/E的嵌入式Linux系統(tǒng)的軟鍵盤實(shí)現(xiàn) 6次下載
- 基于嵌入式Linux系統(tǒng)的軟鍵盤實(shí)現(xiàn) 59次下載
- JHC7X系列鍵盤設(shè)計(jì)方案分析
- 軟鍵盤產(chǎn)品界面顯示的通用程序設(shè)計(jì)
- 軟鍵盤產(chǎn)品界面顯示的通用程序設(shè)計(jì)
- MiniGUI的軟鍵盤快速設(shè)計(jì)方法
- OBOO鷗柏丨智慧平板會(huì)議教學(xué)一體機(jī)Win10系統(tǒng)軟鍵盤教程 164次閱讀
- 3562-Qt工程編譯說(shuō)明 502次閱讀
- 電力變壓器保護(hù)設(shè)計(jì)方案 772次閱讀
- Qt如何安裝在Linux上 2743次閱讀
- Qt應(yīng)用程序出現(xiàn)卡頓的現(xiàn)象怎么解決呢 8633次閱讀
- AWTK基本性能測(cè)試及在Linux下AWTK與Qt的性能對(duì)比 7110次閱讀
- pic單片機(jī)鍵盤系統(tǒng)的設(shè)計(jì)方案 1266次閱讀
- 基于嵌入式Linux環(huán)境下的QT/E軟鍵盤實(shí)現(xiàn)設(shè)計(jì) 2762次閱讀
- 嵌入式LINUX的Qt開(kāi)發(fā)入門教程 2.1w次閱讀
- 一種新型的儀表設(shè)計(jì)方案 6957次閱讀
- 如何用嵌入式Linux系統(tǒng)編寫(xiě)鍵盤驅(qū)動(dòng) 1363次閱讀
- 壓電圓片式鍵盤的設(shè)計(jì)方案介紹 2104次閱讀
- 基于RS232行列式矩陣鍵盤接口的設(shè)計(jì)方案 3129次閱讀
- 基于ARM的矩陣鍵盤設(shè)計(jì)及其linux驅(qū)動(dòng)實(shí)現(xiàn) 3188次閱讀
- 基于Qt的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)方案 7844次閱讀
下載排行
本周
- 1EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
- 0.42 MB | 4次下載 | 2 積分
- 2AU3116 2×60W模擬輸入雙通道Class-D 音頻功率放大器數(shù)據(jù)手冊(cè)
- 1.19 MB | 1次下載 | 免費(fèi)
- 3低壓降肖特基整流管SR340L數(shù)據(jù)手冊(cè)
- 0.78 MB | 1次下載 | 免費(fèi)
- 4ZX8002E 觸摸調(diào)光LED集成IC數(shù)據(jù)手冊(cè)
- 2.27 MB | 次下載 | 免費(fèi)
- 5SOD-323塑料封裝ESD保護(hù)二極管SD05T系列規(guī)格書(shū)
- 1.07 MB | 次下載 | 免費(fèi)
- 6SOT-23塑料封裝ESD保護(hù)二極管SMxx Series系列規(guī)格書(shū)
- 0.93 MB | 次下載 | 免費(fèi)
- 7高效率整流二極管HER151 THRU HER158數(shù)據(jù)手冊(cè)
- 0.54 MB | 次下載 | 免費(fèi)
- 8低壓降肖特基整流管SL22 THRU SL210數(shù)據(jù)手冊(cè)
- 1.03 MB | 次下載 | 免費(fèi)
本月
- 1三相逆變主電路的原理圖和PCB資料合集免費(fèi)下載
- 27.35 MB | 111次下載 | 1 積分
- 2運(yùn)算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費(fèi)
- 3蘋果iphone 11電路原理圖
- 4.98 MB | 11次下載 | 5 積分
- 4TL494工業(yè)用開(kāi)關(guān)電源原理圖資料
- 0.22 MB | 10次下載 | 1 積分
- 5常用電子元器件介紹
- 3.21 MB | 8次下載 | 免費(fèi)
- 6QW2893應(yīng)急燈專用檢測(cè)芯片
- 590.40 KB | 4次下載 | 免費(fèi)
- 7相關(guān)協(xié)議信號(hào)總結(jié)
- 0.94 MB | 4次下載 | 免費(fèi)
- 8EMC電路設(shè)計(jì)工程師必備的EMC基礎(chǔ)
- 0.42 MB | 4次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935130次下載 | 10 積分
- 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183344次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評(píng)論