新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于QT/E的嵌入式Linux系統的軟鍵盤實現

        基于QT/E的嵌入式Linux系統的軟鍵盤實現

        作者: 時間:2012-06-13 來源:網絡 收藏

        圖4中,初始化按鍵時,可以使用QSignalMapper類來捆綁不同按鍵所發送的一系列無參數信號,并將其轉發為有參數的信號:
        QSignalMapper*mapper=new QSignalMapper(this);
        QSignalMapper的主要應用為可以一個函數響應不同按鈕的功能,下面舉例來說明圖4的具體過程:
        首先設置軟界面名稱為ui,然后以數字鍵“1”為例:將在圖3中數字鍵1對應的按鍵名稱設為:n1,在圖4中的第(1)步中,建立鍵值“1”所對應的映射,代碼如下:
        mapper->setMapping(ui.n1,“1”);
        接著,在圖4中的第(2)步,需要建立鍵值clicked對應的信號與槽之間的關系代碼如下:
        connect(ui.n1,SIGNAL(clicked()),mapper,SLOT(map()));
        最后,將所需要用到的字母或者數字通過上述方式連接到槽函數中。如圖4中的(3),將這些所要求得到的字母或者數字發送給焦點控件,代碼如下:
        connect(mapper,signal(mapped(const QString)),im,slot(sendcontent(const QStling)))
        上面語句中sendcontent()函數為發射子函數,具體代碼如下:
        sendCommitString(content); (1)
        content.clear(); (2)
        語句(1)將焦點控件內的字母和數字發送出去,語句(2)清除發送框中的字母和數字,供下一次使用。
        可以采用同樣的方式,對軟中其它的按鍵進行映射函數和連接函數的編寫,然后在arm-linux-gcc環境下編譯,生成可以在arm板上運行的二進制文件。
        3.3 下載到目標板上運行
        本文的設計思路是:先將程序代碼在PC機上調試通過,然后將調試通過的程序代碼在RAM-linux-gcc環境下進行編譯,生成可以在RAM板上運行的二進制文件,最后將此二進制文件下載到目標板中。本文的前提是4.5.3環境已經移植到開發板上,具體移植步驟在這里不作介紹。在終端上面,運行啟動軟指令,命令行后面加上“-qws”指令,運行結果如圖5所示。

        本文引用地址:http://www.104case.com/article/148906.htm

        b.JPG


        圖5是在實際項目中需要的預設手機號碼的界面,在運行前要先設置手機號碼,以便故障時能夠自動的給對應的手機用戶發送預警信息,使用戶能夠實時的了解自己的運行狀態。在該界面中,準備預設手機號碼時,直接選擇打開軟鍵盤按鈕,圖3所示的預制的軟鍵盤會彈出界面,選擇要求預設的手機號碼值,完成之后選擇exit按鍵,軟鍵盤關閉。在此就可以用圖5所示的軟鍵盤完成手機號碼的預設。

        4 結束語
        隨著操作系統的廣泛應用以及人們對GUI人機交互界面的更多需求,本文在linux操作系統的開發套件下,分析了軟鍵盤的原理,并完成了軟鍵盤的設計。此軟件盤可以根據用戶的要求來添加按鍵,與外部接入實體鍵盤相比,不僅便利,還節約成本。通過實踐證明此軟鍵盤具有較強的實時性和可靠性,可以廣泛的應用于各種界面中。

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

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 顺义区| 新宾| 财经| 固镇县| 鱼台县| 祁门县| 固阳县| 万宁市| 金川县| 棋牌| 盐山县| 石家庄市| 芜湖市| 巴林右旗| 怀安县| 天祝| 兴隆县| 阜平县| 青龙| 修文县| 文山县| 八宿县| 平度市| 和平区| 新兴县| 昌图县| 塘沽区| 阳信县| 宝坻区| 卫辉市| 黔东| 六安市| 文昌市| 治多县| 柏乡县| 鱼台县| 洞口县| 大足县| 双柏县| 望都县| 长海县|