AWTK是基于C語言開發(fā)的跨平臺GUI框架?!禔WTK使用經(jīng)驗》系列文章將介紹開發(fā)AWTK過程中一些常見問題與解決方案,例如:如何加載外部資源?如何設(shè)計自定義進(jìn)度條?這些都會在系列文章進(jìn)行解答。
假設(shè)目前需要在AWTK程序中用到中文輸入法,并且要自定義輸入法的聯(lián)想詞,此時需要用到AWStudio添加軟鍵盤和輸入法。下面將介紹如何使用AWStudio在項目中添加中文輸入法以及如何修改聯(lián)想詞,并且如何移植到嵌入式設(shè)備中。下圖是實現(xiàn)中文輸入法并移植到 ZTP800示教器 的效果圖:圖1ZTP800中文輸入法效果圖
使用AWStudio添加軟鍵盤
在AWStudio中帶有軟鍵盤的默認(rèn)樣式,用戶可以直接使用該軟鍵盤樣式。創(chuàng)建該默認(rèn)軟鍵盤也比較簡單,只需點擊AWStudio的“新建窗體”按鈕,接著選擇“Keyboard”,確定后即可看到軟鍵盤的UI文件生成。圖2AWStudio添加默認(rèn)軟鍵盤接著還需要從awtk/3rd/gpinyin/data目錄將gpinyin.dat文件添加到項目資源目錄的data目錄下,例如:res/assets/default/raw/data,這里可以在AWStudio的資源管理器中點擊“導(dǎo)入”按鈕添加到“其他數(shù)據(jù)”分類中。最后將軟鍵盤與控件關(guān)聯(lián),修改edit控件的“keyboard”屬性指定剛剛創(chuàng)建的軟鍵盤窗體。
圖3使用AWStudio導(dǎo)入gpinyin.dat
修改中文輸入法聯(lián)想詞
聯(lián)想詞是指在輸入了某個漢字或詞組后,輸入法根據(jù)該漢字或詞組提供其常用的組詞。如果想要修改聯(lián)想詞的順序或是增加新的詞語等,需要修改awtk/3rd/gpinyin/data目錄下的配置文件rawdict_utf16_65105_freq.txt。配置文件中包含了各個詞語的漢字、使用頻率和對應(yīng)的拼音,使用頻率數(shù)值越大,對應(yīng)的聯(lián)想詞越靠前。例如:下圖的“爸爸”使用頻率數(shù)值大于“巴巴”,那么當(dāng)輸入“baba”拼音時,“爸爸”的顯示順序會比“巴巴”靠前。
圖4 聯(lián)想字庫配置文件
修改完配置文件后,在awtk目錄下打開終端,執(zhí)行以下命令,該程序會生成一個新的gpinyin.dat,按照前面步驟拷貝到項目資源目錄,如:assets/default/raw/data/。
./bin/gpinyingen
將中文輸入法移植到嵌入式Linux平臺
嵌入式Linux的官方移植層awtk-linux-fb默認(rèn)加入了中文輸入法,用戶在PC上根據(jù)文章前面步驟添加好中文輸入法,使用AWStudio打包資源,將項目拷貝到交叉編譯環(huán)境下使用awtk-linux-fb交叉編譯應(yīng)用即可。
將中文輸入法移植到RTOS平臺
將中文輸入法代碼文件加入編譯
對于其它平臺如RTOS平臺添加中文輸入法的步驟會復(fù)雜一些,需要將中文輸入法相關(guān)的代碼文件加入編譯(比如將這些代碼文件添加到keil編譯),詳細(xì)步驟如下:
- 加入以下目錄的代碼文件:awtk/3rd/gpinyin/src;
- 加入代碼文件:awtk/src/input_engines/input_engine_pinyin.cpp;
- 去掉下面的代碼文件,不加入編譯:awtk/src/input_engines/input_engine_null.cpp;
- 加入下面的include路徑:awtk/3rd/gpinyin/include;
- 加入gpinyin.dat到應(yīng)用資源目錄data文件夾內(nèi)。
添加輸入法宏
- 在平臺對應(yīng)移植層的awtk_config.h文件內(nèi)定義宏:
WITH_IME_PINYIN
另外還需要取消以下兩個宏的定義:
- WITH_NULL_IMWITHOUT_INPUT_METHOD
-
軟鍵盤
+關(guān)注
關(guān)注
0文章
10瀏覽量
6464 -
示教器
+關(guān)注
關(guān)注
2文章
30瀏覽量
3983 -
awtk
+關(guān)注
關(guān)注
0文章
50瀏覽量
386
發(fā)布評論請先 登錄
中文輸入法在B超系統(tǒng)中的應(yīng)用
Orange Pi 4開發(fā)板在Ubuntu系統(tǒng)下如何安裝中文輸入法
如何去實現(xiàn)RK3399 ARM開發(fā)板添加中文輸入法的功能呢
KICAD6與中文輸入法沖突
【飛凌RK3568開發(fā)板試用體驗】添加中文輸入法
嵌入式中文輸入法設(shè)計
基于Qt/E的中文輸入法的設(shè)計

【AWTK使用經(jīng)驗】如何使用系統(tǒng)輸入法與開啟最大化窗口功能

評論