<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Qt/E的嵌入式Linux中文輸入法的設(shè)計(jì)與實(shí)現(xiàn)

          基于Qt/E的嵌入式Linux中文輸入法的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2012-05-30 來源:網(wǎng)絡(luò) 收藏

          圖3 軟鍵盤界面

          圖3軟鍵盤界面

          軟鍵盤左上角的CheckBox用于中英文切換,選中時(shí),輸人,不選時(shí)輸入的則是英文,在英文輸入時(shí),若按下Caps鍵軟鍵盤面板上的數(shù)字鍵,切換成常用符號,英文全變成大寫。1-r按鍵是本的特色,按下1-r鍵可以選擇需要輸出漢字的字體和大小,其余的按鍵功能同Pc機(jī)鍵盤。

          因?yàn)闆]有桌面管理程序,本文還了一個(gè)置頂?shù)母?dòng)框,用于打開軟鍵盤。當(dāng)點(diǎn)擊按鍵時(shí),彈出軟鍵盤。

          2。3

          /E輸入法基類為QWSInputMethod,在這個(gè)基類中定義了一些接口用以支持輸入法程序,并從QWSInputMethod這個(gè)類繼承出一個(gè)輸入法類,在這個(gè)類中處理鍵盤和鼠標(biāo)事件,把接收到的鍵盤事件按照輸入法的編碼規(guī)則轉(zhuǎn)換為對應(yīng)的,一個(gè)漢字,或者是一個(gè)短語,并把最終用戶的選擇發(fā)送到當(dāng)前編輯窗口。

          1nputMethod類繼承QWSInputMethod類來輸入法的處理,在這里的幾個(gè)主要的接口函數(shù)有:

          virtualboolfilter(intunicode,intkeycode,intmodifiers,bootisPress,boolautoRepeat)

          這個(gè)接口的作用就是過濾鍵盤事件,在這個(gè)函數(shù)中處理鍵盤輸人,并且根據(jù)相應(yīng)的輸人法方法把鍵盤輸入轉(zhuǎn)換為相應(yīng)的中文。

          voidsendc0mmitstring(constQStringeommitString,intrepIaceFromPosion:0,intreplaceLength=0)

          這個(gè)接口函數(shù)表示把相應(yīng)的字符串發(fā)送到當(dāng)前編輯窗口,一般用于在用戶作出最終的選擇之后,把相應(yīng)的字符串發(fā)送出去。

          voidsel1dPreeditsng(constQStringpreeditString,inteursorPosition,intselectionLength=0)

          把當(dāng)前正在編輯的字符串發(fā)送給當(dāng)前編輯窗口。

          為了使輸入法成為系統(tǒng)級輸入法,在這個(gè)類中還需要輸入法安裝/卸載函數(shù),這樣系統(tǒng)中才會(huì)有全局的輸人法模塊,輸入法才能工作。

          install和release輸入法的函數(shù),就是通過調(diào)用QWSServer類中的成員函數(shù)來實(shí)現(xiàn)的。QWSServer::

          setCurrentInputMethod這個(gè)函數(shù)為當(dāng)前的/E安裝一個(gè)輸入法,如設(shè)置拼音輸入法:

          QWSServer::setcurrentInputMeth0d(pinyin)

          如果把參數(shù)設(shè)置為NULL,就是卸載輸入法。輸入法安裝完成之后,輸入法類中就可以接收到鍵盤事件了,拼音輸入法的具體流程見圖4。

          圖4 拼音輸入法按鍵處理流程

          圖4拼音輸入法按鍵處理流程

          最終拼音輸入法在三星S3C2440平臺上運(yùn)行的界面見圖5。

          圖5 運(yùn)行結(jié)果

          圖5運(yùn)行結(jié)果

          3結(jié)語

          本文三星S3C2440平臺,實(shí)現(xiàn)了/E4。5的拼音輸入法,并重點(diǎn)闡述了Qt/E的中文輸入法原理,在這個(gè)基礎(chǔ)上可以比較容易地開發(fā)出其他的中文輸入法。

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

          linux相關(guān)文章:linux教程



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();