freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文嵌入式中文拼音輸入法的設(shè)計(jì)(參考版)

2025-06-29 19:32本頁(yè)面
  

【正文】 致 謝此次畢業(yè)設(shè)計(jì)的過程中得到了許多人的幫助,每當(dāng)遇到困難的時(shí)候都是指導(dǎo)老師和屈克文學(xué)長(zhǎng)給了我巨大的信心,同學(xué)也給我精神上很大的支持,正是有了這一切的一切才讓我能堅(jiān)持下來并且一步一步的完成畢業(yè)論文設(shè)計(jì)。它是基于sqlite 數(shù)據(jù)庫(kù)查詢實(shí)現(xiàn)的拼音到漢字的匹配,為了提高查詢速度,為其建立了索引,可以滿足嵌入式系統(tǒng)上用戶對(duì)中文輸入的要求,相比當(dāng)前熱門的基于正則表達(dá)式的字符匹配的嵌入式中文輸入法,它是基于 sqlite 數(shù)據(jù)庫(kù)的,匹配速度更快,而且便于漢字與詞組的更新管理,有更好的可擴(kuò)展性。接著了解了 GUI 在嵌入式Linux 系統(tǒng)中的地位,并掌握了嵌入式 GUI 的實(shí)現(xiàn)方法—QT/E 的使用,接著完成了 Linux 環(huán)境的搭建,QT/E 環(huán)境的搭建。從嵌入式系統(tǒng)的的發(fā)展歷史到嵌入式操作系統(tǒng),深入了解了嵌入式系統(tǒng)。 //返回選中的漢字或詞組。 update_Zh_CN_Pri(temp)。 } else temp = (1)。 if((1).toInt() != num) //每個(gè)漢字或詞組前都有 1 位數(shù)字編號(hào) { QMessageBox::warning(0,tr(List 錯(cuò)),tr(漢字不存在))。 temp = (0)。 } list = (tr(%1).arg(num))。 if(imgetCurrentHZnumber() !=()) { QMessageBox::warning(0,tr(錯(cuò)),tr(當(dāng)前顯示頁(yè)不匹配))。 qDebug()sendHZ temp listendl。 temp = (currentPages1)。QString softkeyboard::sendHZ(QStringList listHZ, int currentPages, int num){ QString temp。} 顯示漢字QString sendHZ(QStringList listHZ,int currentPages,int num)。//顯示漢字。 //imdisplayHZ(listHZ)。 //清除原先顯示的漢字。 } while(()) { list(0).toString()。// } if(!()) { QMessageBox::warning(0,錯(cuò)誤,字庫(kù)查詢失敗!\n+().text())。 py == )// { //第二次聯(lián)想查詢// (SELECT hz FROM zh_CN_egb2312 WHERE hz like ? ORDER BY pri DESC)。// if(hz != amp。 (SELECT hz FROM zh_CN_egb2312 WHERE pinyin = ? ORDER BY pri DESC)。// (SELECT hz FROM zh_CN_egb2312 WHERE pinyin like ? AND length(hz)=1 ORDER BY pri DESC)。 (true)。 //()。 //打開字體數(shù)據(jù)庫(kù)int selectFromZh_CN_db(QString str)。}至此,軟鍵盤的功能設(shè)計(jì)完成。WSServer::sendKeyEvent(0,(buttonValue),Qt::ShiftModifier,true,false)。此處用到 Qt/E 服 務(wù)器端 一個(gè) 重要 的發(fā) 送事件 函數(shù) :QWSServer::sendKeyEvent ( int unicode, intkeycode, Qt::KeyboardModifiers modifiers, boolisPress, bool autoRepeat );該函數(shù)會(huì)檢查當(dāng)前是否安裝了輸入法,如果是,就會(huì)去調(diào)用這個(gè)輸入法的 filter 函數(shù)來過濾鍵盤事件,如果這個(gè)函數(shù)返回值為 true,就不在繼續(xù)分發(fā)該事件,否則按默認(rèn)方式繼續(xù)分發(fā)該事件。其它類似。例如:(0,Qt::Key_0)。signalMapper,SIGNAL(mapped(QString)),this, SLOT(buttonClicked(QString)))。(uibutton_1,uibutton_1property(buttonValue))。connect(uibutton_1,SIGNAL(clicked()),amp。 軟鍵盤內(nèi)部實(shí)現(xiàn)為降低代碼冗余,用 QSignalMapper 類對(duì)按鍵信號(hào)進(jìn)行轉(zhuǎn)換,將不同按鍵發(fā)送者的無參數(shù)信號(hào),轉(zhuǎn)換為帶有參數(shù)的信號(hào),最后在將轉(zhuǎn)換后的信號(hào)連到同一個(gè)槽上,這樣就不用為每個(gè)按鍵都寫一個(gè)按鍵處理槽。 添加漢字可以使用 SQLite Database Browser 圖形界面添加,如圖 所示:圖 漢字添加10 中文輸入法實(shí)現(xiàn)前面已經(jīng)實(shí)現(xiàn)一個(gè)軟鍵盤的布局了,這一步就是實(shí)現(xiàn)軟鍵盤的核心技術(shù):查找漢字與及英文、漢字的顯示了。創(chuàng)建 pinyin 字段上的索引:CREATE INDEX index_zh_CN_egb2312_pinyin ON zh_CN_egb2312(pinyin ASC)。(2)字庫(kù)創(chuàng)建:CREATE TABLE zh_CN_gb2312 (id INTEGRPRIMARY KEY, pinyin TEXT, hz TEXT, pri INTEGER)。 “關(guān)閉”按鍵可以退出拼音輸入法。按下“shift”鍵后,將切換到大寫字母輸入。 拼音框QPushButton *panelButton_down。 網(wǎng)格布局QPushButton *panelButton_up。 !鍵QPushButton *panelButton_hide。 中文切換鍵QPushButton *panelButton_hand。 空格鍵QPushButton *panelButton_abc。 ,鍵QPushButton *panelButton_shift。 /鍵QPushButton *panelButton_maohao。 m 鍵QPushButton *panelButton_fanxiegang。 b 鍵QPushButton *panelButton_n。 c 鍵QPushButton *panelButton_v。 z 鍵QPushButton *panelButton_x。 l 鍵QPushButton *panelButton_enter。 j 鍵QPushButton *panelButton_k。 g 鍵QPushButton *panelButton_h。 d 鍵QPushButton *panelButton_f。 a 鍵QPushButton *panelButton_s。 p 鍵QPushButton *panelButton_at。 i 鍵QPushButton *panelButton_o。 y 鍵QPushButton *panelButton_u。 r 鍵QPushButton *panelButton_t。 w 鍵QPushButton *panelButton_e。 刪除鍵QPushButton *panelButton_q。 數(shù)字鍵 9QPushButton *panelButton_0。 數(shù)字鍵 7QPushButton *panelButton_8。 數(shù)字鍵 5QPushButton *panelButton_6。 數(shù)字鍵 3QPushButton *panelButton_4。 數(shù)字鍵 1QPushButton *panelButton_2。QWidget 中具體需要添加如下部件:QGridLayout *gridLayout。為每個(gè)按鍵增加一個(gè)“Dynamic Properties” 屬性:ButtonValue,用作按鍵標(biāo)識(shí)。 key_boardsetMinimumSize(QSize(419, 142))。Qt/E4 輸入法的客戶/服務(wù)器模型如圖 .圖 Qt/E 輸入法客戶/服務(wù)器模型8 中文輸入法的界面設(shè)計(jì) 軟鍵盤窗口的設(shè)計(jì)在這個(gè)軟件盤中,需要實(shí)現(xiàn)小寫英文字母輸入、大寫字母輸入、中文輸入、其他各種字符的輸入、隱藏以及其他一般功能的按鍵。即當(dāng)服務(wù)器端安裝了一個(gè)輸入法時(shí),在每次鍵盤產(chǎn)生事件的時(shí)候,就會(huì)把按鍵事件先送給輸入法,判斷是否處理這個(gè)按鍵,如果輸入法處理,就不分發(fā)這個(gè)按鍵事件,否則就會(huì)按照上面所述分發(fā)機(jī)制繼續(xù)分發(fā)這個(gè)事件到客戶端應(yīng)用程序。系統(tǒng)中產(chǎn)生的所有事件,都會(huì)先傳到服務(wù)端,然后再由服務(wù)端根據(jù)情況分發(fā)給相對(duì)應(yīng)的客戶端應(yīng)用程序,其處理機(jī)制為:當(dāng)服務(wù)端接收到一個(gè) Event 時(shí),它就查找所有頂層窗口列表,找出發(fā)出事件的窗口,然后根據(jù)這個(gè)窗口找到創(chuàng)建它的客戶端應(yīng)用程序并返回其 ID 到服務(wù)器端,服務(wù)器端會(huì)用 QWSEvent 類對(duì)象封裝這個(gè) Event,在將其轉(zhuǎn)發(fā)到窗口所在的客戶端應(yīng)用程序。Qt 是原 Trolltech 公司開發(fā)的一個(gè)跨平臺(tái)的 C++圖形用戶界面應(yīng)用框架。這時(shí)拼音輸入框 QLineEdit 會(huì)根據(jù)用戶輸入的拼音到 sqlite 數(shù)據(jù)庫(kù) 中進(jìn)行漢字的查找,并將查找到的漢字顯示到漢字顯示框中。具體流程如下圖所示:圖 輸入法事件流程 拼音輸入法原理詳述輸入法窗口由中英文切換鍵、拼音輸入框、漢字顯示框和軟鍵盤組成,軟鍵盤的按鍵類 QPushButton 繼承自 Qt 的 QToolButton 類, 當(dāng)光標(biāo)切換到QLineEdit 時(shí)將觸發(fā)槽函數(shù)彈出輸入法界面,當(dāng)字母 Button 被按下時(shí)發(fā)送信號(hào)clicked(),由信號(hào) clicked()觸發(fā) accept()槽來實(shí)現(xiàn)拼音輸入框顯示。export TSLIB_ROOT=/usr/local/tslibexport TSLIB_TSDEVICE=/dev/input/event0export TSLIB_FBDEVICE=/dev/fb0export TSLIB_PLUGINDIR=/usr/local/tslib/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_CONFFILE=/usr/local/tslib/etc/export TSLIB_CALIBFILE=/etc/pointercalexport QTDIR=/usr/local/qteexport QT_PLUGIN_PATH=$QTDIR/lib/pluginsexport QWS_MOUSE_PROTO=Tslib:/dev/input/event0export QWS_SIZE=800X600至此 Qt/E 主機(jī)端開發(fā)環(huán)境和目標(biāo)板運(yùn)行環(huán)境配置完畢。編輯目標(biāo)板根文件系統(tǒng)中的/etc/profile 文件,將 Qt/E 庫(kù)文件的路徑加入 LD_LIBRARY_PATH變量中。圖 為編譯 ARM 平臺(tái)的運(yùn)行圖。QtCreator 配置完成。 3.單擊 Debugging Helper 右側(cè) Rebuild 按鈕,等待片刻,看到Debugging Helper:后出現(xiàn)一個(gè)綠色的“√”即可。圖 ,QtCreator 配置添加過程為: 1.在 Qt Versions 界面中點(diǎn)擊那個(gè)藍(lán)色的“╋”號(hào)圖標(biāo),在下方“Version Name” 文本框內(nèi)輸入一個(gè) Qt 的版本名,如 等。 配置 QtCreator 環(huán)境QT/E 庫(kù)編譯好以后,還要將相關(guān)平臺(tái)庫(kù)加入到 QtCreator 工程管理中,使得 QtCreator 可以管理并且編譯不同平臺(tái)的應(yīng)用程序。配置選項(xiàng)如下:./configure prefix /home/ release shared fast nolargefile stl qtsqlsqlite noqt3support noxmlpatterns nomultimedia noaudiobackend nophonon nophononbackend nosvg nowebkit nojavascriptjit noscript noscripttools nommx no3dnow no
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1