基于QT/E的嵌入式Linux系統的軟鍵盤(pán)實(shí)現
摘要:隨著(zhù)嵌入式技術(shù)的不斷發(fā)展,嵌入式系統在各種領(lǐng)域中得到了廣泛的應用。本文針對嵌入式系統需要在顯示屏上實(shí)現字符的輸入,在Linux環(huán)境下,利用QT/E庫軟件,實(shí)現了軟鍵盤(pán)設計。主要介紹了軟鍵盤(pán)的設計以及軟鍵盤(pán)實(shí)現的程序編寫(xiě)。
關(guān)鍵詞:Linux;ARM;QT;軟鍵盤(pán)
隨著(zhù)對嵌入式系統體積小型化和操作人性化的要求,以及大尺寸觸摸式顯示屏的廣泛應用,在嵌入式系統中采用軟鍵盤(pán)實(shí)現字符的輸入,已經(jīng)成為目前的發(fā)展主流。QT是一個(gè)跨平臺的C++圖形界面庫,是由挪威TrollTech公司推出的產(chǎn)品。它采用的是面向對象的程序設計思想,因此,具有良好的可擴展性和可移植性,同時(shí)支持多個(gè)GUI平臺的交互開(kāi)發(fā)。QT采用了良好的封裝機制,使得它的模塊化程度非常高,可重用性好,開(kāi)發(fā)方便。憑借其良好的性能,QT已成為目前GUI開(kāi)發(fā)中使用最為廣泛的圖形界面庫之一。QT/E(QT/Embedded)是用于嵌入式系統的QT版本。QT/E去掉了對XLib的依賴(lài)而直接工作于Frame Buffer上,因而效率更高,文中主要使用QT4.5.3版本,在嵌入式Linux環(huán)境下實(shí)現軟鍵盤(pán)設計。
1 QT/E體系結構
QT/E是2001年Trolltech公司開(kāi)發(fā)的一款面向嵌入式系統的QT版本。它采用輕量級窗口系統,完全摒棄了底層的XLib,以Framebuffer作為底層圖形接口,極大地減少了對內存的消耗。QT/E在上層仍然保持著(zhù)原來(lái)的QT架構,因此,針對在Xwindow上設計的QT程序仍然具有很好的移植性。QT/E的基本體系結構如圖1所示。
1)QT/E體系結構中的圖形引擎是通過(guò)相關(guān)的圖形算法和Framebuffer操作底層的硬件設備來(lái)實(shí)現的;事件驅動(dòng)則是通過(guò)底層的輸入輸出設備驅動(dòng)來(lái)實(shí)現對外界事件的響應。
2)如圖1所示,由圖形引擎層實(shí)現對圖形界面的繪圖操作,然后由QT基本類(lèi)提供對外界的操作接口。其中,圖形類(lèi)提供圖形操作接口,比如:畫(huà)線(xiàn)、畫(huà)矩形等;控件類(lèi)通過(guò)繼承公共抽象類(lèi)QWidget來(lái)實(shí)現基本的控件,為外界提供接口。
DIY機械鍵盤(pán)相關(guān)社區:機械鍵盤(pán)DIY
評論