資料介紹
隨著對嵌入式系統(tǒng)體積小型化和操作人性化的要求,以及大尺寸觸摸式顯示屏的廣泛應(yīng)用,在嵌入式系統(tǒng)中采用軟鍵盤實(shí)現(xiàn)字符的輸入,已經(jīng)成為目前的發(fā)展主流。QT是一個跨平臺的C++圖形界面庫,是由挪威TrollTech公司推出的產(chǎn)品。它采用的是面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,因此,具有良好的可擴(kuò)展性和可移植性,同時支持多個GUI平臺的交互開發(fā)。QT采用了良好的封裝機(jī)制,使得它的模塊化程度非常高,可重用性好,開發(fā)方便。憑借其良好的性能,QT已成為目前GUI開發(fā)中使用最為廣泛的圖形界面庫之一。QT/E(QT/Embedded)是用于嵌入式系統(tǒng)的QT版本。QT/E去掉了對XLib的依賴而直接工作于Frame Buffer上,因而效率更高,文中主要使用QT4.5.3版本,在嵌入式Linux環(huán)境下實(shí)現(xiàn)軟鍵盤設(shè)計(jì)。
1 QT/E體系結(jié)構(gòu)
QT/E是2001年Trolltech公司開發(fā)的一款面向嵌入式系統(tǒng)的QT版本。它采用輕量級窗口系統(tǒng),完全摒棄了底層的XLib,以Framebuffer作為底層圖形接口,極大地減少了對內(nèi)存的消耗。QT/E在上層仍然保持著原來的QT架構(gòu),因此,針對在Xwindow上設(shè)計(jì)的QT程序仍然具有很好的移植性。QT/E的基本體系結(jié)構(gòu)如圖1所示。
1)QT/E體系結(jié)構(gòu)中的圖形引擎是通過相關(guān)的圖形算法和Framebuffer操作底層的硬件設(shè)備來實(shí)現(xiàn)的;事件驅(qū)動則是通過底層的輸入輸出設(shè)備驅(qū)動來實(shí)現(xiàn)對外界事件的響應(yīng)。
2)如圖1所示,由圖形引擎層實(shí)現(xiàn)對圖形界面的繪圖操作,然后由QT基本類提供對外界的操作接口。其中,圖形類提供圖形操作接口,比如:畫線、畫矩形等;控件類通過繼承公共抽象類QWidget來實(shí)現(xiàn)基本的控件,為外界提供接口。
2 QT/E通信機(jī)制
在圖形界面編程時,我們經(jīng)常要實(shí)現(xiàn)界面之間的相互切換或者相互通知,更具體的來說就是需要實(shí)現(xiàn)類與類之間的相互通信。比如,在軟鍵盤的設(shè)計(jì)中,當(dāng)一個事件產(chǎn)生時,系統(tǒng)就會發(fā)出一個信號。信號和槽(Signal&slot)機(jī)制是QT的核心特征,在QT庫中有很多已經(jīng)設(shè)置好的信號,比如:clicked()、triggered()等,開發(fā)人員也可以根據(jù)需要來自定義某些信號。事件的響應(yīng)對應(yīng)著QT窗口里的槽函數(shù),和信號類似,系統(tǒng)有很多預(yù)定義的槽,比如exit()、quit()等,用戶也可以根據(jù)需要來添加自己的槽函數(shù)。
當(dāng)對象改變其狀態(tài)時,信號就由該對象發(fā)射(emit)出去,這就是對象所要做的全部事情,它不知道另一端是誰在接收這個信號。這就是真正的信息封裝,它確保對象被當(dāng)作一個真正的軟件組件來使用。槽用于接收信號,但它們是普通的對象成員函數(shù)。一個槽并不知道是否有任何信號與自己相連接。而且,對象并不了解具體的通信機(jī)制??梢詫⒑芏嘈盘柵c單個槽進(jìn)行連接,也可以將單個信號與很多槽進(jìn)行連接,甚至于將一個信號與另外一個信號相連接也是可能的。
1 QT/E體系結(jié)構(gòu)
QT/E是2001年Trolltech公司開發(fā)的一款面向嵌入式系統(tǒng)的QT版本。它采用輕量級窗口系統(tǒng),完全摒棄了底層的XLib,以Framebuffer作為底層圖形接口,極大地減少了對內(nèi)存的消耗。QT/E在上層仍然保持著原來的QT架構(gòu),因此,針對在Xwindow上設(shè)計(jì)的QT程序仍然具有很好的移植性。QT/E的基本體系結(jié)構(gòu)如圖1所示。
1)QT/E體系結(jié)構(gòu)中的圖形引擎是通過相關(guān)的圖形算法和Framebuffer操作底層的硬件設(shè)備來實(shí)現(xiàn)的;事件驅(qū)動則是通過底層的輸入輸出設(shè)備驅(qū)動來實(shí)現(xiàn)對外界事件的響應(yīng)。
2)如圖1所示,由圖形引擎層實(shí)現(xiàn)對圖形界面的繪圖操作,然后由QT基本類提供對外界的操作接口。其中,圖形類提供圖形操作接口,比如:畫線、畫矩形等;控件類通過繼承公共抽象類QWidget來實(shí)現(xiàn)基本的控件,為外界提供接口。
2 QT/E通信機(jī)制
在圖形界面編程時,我們經(jīng)常要實(shí)現(xiàn)界面之間的相互切換或者相互通知,更具體的來說就是需要實(shí)現(xiàn)類與類之間的相互通信。比如,在軟鍵盤的設(shè)計(jì)中,當(dāng)一個事件產(chǎn)生時,系統(tǒng)就會發(fā)出一個信號。信號和槽(Signal&slot)機(jī)制是QT的核心特征,在QT庫中有很多已經(jīng)設(shè)置好的信號,比如:clicked()、triggered()等,開發(fā)人員也可以根據(jù)需要來自定義某些信號。事件的響應(yīng)對應(yīng)著QT窗口里的槽函數(shù),和信號類似,系統(tǒng)有很多預(yù)定義的槽,比如exit()、quit()等,用戶也可以根據(jù)需要來添加自己的槽函數(shù)。
當(dāng)對象改變其狀態(tài)時,信號就由該對象發(fā)射(emit)出去,這就是對象所要做的全部事情,它不知道另一端是誰在接收這個信號。這就是真正的信息封裝,它確保對象被當(dāng)作一個真正的軟件組件來使用。槽用于接收信號,但它們是普通的對象成員函數(shù)。一個槽并不知道是否有任何信號與自己相連接。而且,對象并不了解具體的通信機(jī)制??梢詫⒑芏嘈盘柵c單個槽進(jìn)行連接,也可以將單個信號與很多槽進(jìn)行連接,甚至于將一個信號與另外一個信號相連接也是可能的。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于QT-E的嵌入式Linux系統(tǒng)的軟鍵盤實(shí)現(xiàn)
- 嵌入式Linux的Qt
- 基于基于Qt的集成電路測試軟件設(shè)計(jì)方案 30次下載
- BLE實(shí)驗(yàn)詳解之藍(lán)牙鍵盤設(shè)計(jì)方案 58次下載
- Javascript編寫的軟鍵盤代碼免費(fèi)下載 6次下載
- Linux下Qt的安裝 5次下載
- 基于嵌入式LINUX和QT/E實(shí)現(xiàn)矩陣鍵盤中文輸入 3次下載
- 嵌入式Linux系統(tǒng)的軟鍵盤實(shí)現(xiàn) 6次下載
- qt編寫的觸摸小鍵盤 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鷗柏丨智慧平板會議教學(xué)一體機(jī)Win10系統(tǒng)軟鍵盤教程 164次閱讀
- 3562-Qt工程編譯說明 502次閱讀
- 電力變壓器保護(hù)設(shè)計(jì)方案 772次閱讀
- Qt如何安裝在Linux上 2743次閱讀
- Qt應(yīng)用程序出現(xiàn)卡頓的現(xiàn)象怎么解決呢 8633次閱讀
- AWTK基本性能測試及在Linux下AWTK與Qt的性能對比 7110次閱讀
- pic單片機(jī)鍵盤系統(tǒng)的設(shè)計(jì)方案 1266次閱讀
- 基于嵌入式Linux環(huán)境下的QT/E軟鍵盤實(shí)現(xiàn)設(shè)計(jì) 2762次閱讀
- 嵌入式LINUX的Qt開發(fā)入門教程 2.1w次閱讀
- 一種新型的儀表設(shè)計(jì)方案 6957次閱讀
- 如何用嵌入式Linux系統(tǒng)編寫鍵盤驅(qū)動 1363次閱讀
- 壓電圓片式鍵盤的設(shè)計(jì)方案介紹 2104次閱讀
- 基于RS232行列式矩陣鍵盤接口的設(shè)計(jì)方案 3129次閱讀
- 基于ARM的矩陣鍵盤設(shè)計(jì)及其linux驅(qū)動實(shí)現(xiàn) 3188次閱讀
- 基于Qt的遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計(jì)方案 7844次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多