新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于QT/E的嵌入式Linux系統(tǒng)的軟鍵盤實現(xiàn)

基于QT/E的嵌入式Linux系統(tǒng)的軟鍵盤實現(xiàn)

作者: 時間:2012-06-13 來源:網(wǎng)絡(luò) 收藏

2 /E通信機制
在圖形界面編程時,我們經(jīng)常要界面之間的相互切換或者相互通知,更具體的來說就是需要類與類之間的相互通信。比如,在軟的設(shè)計中,當一個事件產(chǎn)生時,就會發(fā)出一個信號。信號和槽(Signal&slot)機制是的核心特征,在庫中有很多已經(jīng)設(shè)置好的信號,比如:clicked()、triggered()等,開發(fā)人員也可以根據(jù)需要來自定義某些信號。事件的響應(yīng)對應(yīng)著QT窗口里的槽函數(shù),和信號類似,有很多預(yù)定義的槽,比如exit()、quit()等,用戶也可以根據(jù)需要來添加自己的槽函數(shù)。
當對象改變其狀態(tài)時,信號就由該對象發(fā)射(emit)出去,這就是對象所要做的全部事情,它不知道另一端是誰在接收這個信號。這就是真正的信息封裝,它確保對象被當作一個真正的軟件組件來使用。槽用于接收信號,但它們是普通的對象成員函數(shù)。一個槽并不知道是否有任何信號與自己相連接。而且,對象并不了解具體的通信機制??梢詫⒑芏嘈盘柵c單個槽進行連接,也可以將單個信號與很多槽進行連接,甚至于將一個信號與另外一個信號相連接也是可能的。
因此,整個QT窗口的設(shè)計簡單、靈活且擴展性好。信號與槽之間的鏈接一般用connect()函數(shù)來,具體關(guān)聯(lián)方式和實現(xiàn)函數(shù)如圖2所示:

本文引用地址:http://m.butianyuan.cn/article/148906.htm

d.JPG



3 QT/E軟的實現(xiàn)
文中主要根據(jù)項目的實際需要,在軟上制定了數(shù)字鍵、字母鍵、退出鍵和確定鍵。具體分兩步實現(xiàn),第一步:在linux環(huán)境的PC機上制定軟鍵盤,并編寫代碼實現(xiàn)其按鍵功能;第二步:生成能夠在ARM板上運行的代碼,并移植到ARM板上。
3.1 PC機x11環(huán)境下制定軟鍵盤的模型
根據(jù)項目的實際需求,在PC機x11/QT環(huán)境下設(shè)計了軟鍵盤界面,該軟鍵盤具有數(shù)字鍵、字母鍵、退出鍵和確定鍵,總共42個按鍵,如圖3所示。在linux環(huán)境的QT designer下,創(chuàng)建新的widget,然后根據(jù)項目中所需要的按鍵個數(shù)來確定軟鍵盤的大小,在此,選擇軟鍵盤的外框大小為:540x160。軟鍵盤外框搭建完成之后,需要在軟鍵盤區(qū)域內(nèi)加入實際所需要的按鍵。將Widget Box下Buttons選項中的PushButton按鍵拖入到軟鍵盤區(qū)域內(nèi),在PushButton按鍵屬性的文本編輯中填入按鍵值,比如“1”。在PushButton按鍵屬性的名字編輯中填入按鍵名,比如“n1”。
同理,在軟鍵盤區(qū)域內(nèi)拖入實際所需要按鍵個數(shù)的按鍵,根據(jù)所需要的鍵值修改每個按鍵上面的文本屬性和名字屬性。按照一般鍵盤的布局對它們進行排列

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

DIY機械鍵盤相關(guān)社區(qū):機械鍵盤DIY




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉