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

正文內(nèi)容

基于qte的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)-在線瀏覽

2024-08-04 02:37本頁面
  

【正文】 軟件的設(shè)計(jì)和實(shí)現(xiàn)的各個(gè)階段的主要工作和相關(guān)文檔。(2)輸入法在人機(jī)交互中必不可少GUI 是人機(jī)交互不可缺少的部分,一個(gè)產(chǎn)品 GUI 的好壞往往決定了這個(gè)產(chǎn)品的優(yōu)劣,而嵌入式 GUI 具有下面幾個(gè)方面的基本要求:輕型?占用資源少?高性能?高可靠性?便于移植?可配置等特點(diǎn)?一個(gè)良好的 GUI 肯定要有一款人性化的輸入法?嵌入式設(shè)備的發(fā)展趨勢中,重要的一點(diǎn)是要低功耗,盡可能的減少系統(tǒng)的開銷,因此嵌入式設(shè)備的輸入法也需要在保持功能的前提下,將系統(tǒng)開銷降低最低。 嵌入式中文輸入法的研究現(xiàn)狀嵌入式的迅猛發(fā)展,目前,在手持設(shè)備的移動終端中,廣泛采用以液晶觸摸顯示屏實(shí)現(xiàn)的人性化的人機(jī)交互式 GUI。目前國內(nèi)外的嵌入式中文輸入法,都是在 Qt/E 平臺下應(yīng)用和開發(fā)的,在這平臺下應(yīng)用的,主要有兩種嵌入式中文輸入法:(1)其中一種輸入法是移植一般 PC 機(jī) Windows 系統(tǒng)下,現(xiàn)有的中文輸入法,該輸入法是基于 QtX11 的,移植了該中文輸入法到嵌入式設(shè)備,但該輸入法需要Windows 系統(tǒng)下的 X lib 庫的支持,這會導(dǎo)致系統(tǒng)需要很大的系統(tǒng)資源,很是影響系統(tǒng)的運(yùn)行效率。 課題研究內(nèi)容及目標(biāo) 課題研究的內(nèi)容本課題主要討論了一種基于 Qt/E 的嵌入式中文拼音輸入法的研究與實(shí)現(xiàn)的方法。 課題研究的目標(biāo)針對以上情況,決定組建一個(gè)界面友好,功能完善的基于 Qt/E 嵌入式中文拼音輸入法,該輸入法可以實(shí)現(xiàn)中英輸入的切換,實(shí)現(xiàn)中文,英文,數(shù)字及常用標(biāo)點(diǎn)符號的輸入,輸入法最大限度地實(shí)現(xiàn)了易移植性和易操作性。 開發(fā)平臺的選擇本系統(tǒng)將在 Linux 系統(tǒng)里,用 QtDesigner4 作為界面設(shè)計(jì)工具,Vim 作為開發(fā)環(huán)境, 作為交叉編譯器,Qt 為開發(fā)語言,運(yùn)行環(huán)境為 Qt/E。基于 Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 3 2 相關(guān)技術(shù)概述 交叉編譯簡介交叉編譯,通俗的講就是在一個(gè)平臺上生成另一個(gè)平臺上的可執(zhí)行的代碼。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個(gè)操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。嵌入式設(shè)備一般對系統(tǒng)資源比較敏感,不能運(yùn)行軟件的開發(fā)環(huán)境,只執(zhí)行程序,嵌入式設(shè)備叫做目標(biāo)機(jī);一般的 pc 機(jī)上運(yùn)行開發(fā)環(huán)境和編譯器,pc 機(jī)叫做宿主機(jī)。伴隨著以計(jì)算機(jī)技術(shù)、通訊技術(shù)為主的信息技術(shù)的飛速發(fā)展和互聯(lián)網(wǎng)的廣泛應(yīng)用,計(jì)算機(jī),通訊,消費(fèi)電子,三者合一將成為必然趨勢。 由于嵌入式設(shè)備的性能局限,往往不能通過本機(jī)編譯得到所需軟件的可執(zhí)行程序。而開放源碼的編譯器 GCC,經(jīng)過多年的發(fā)展,已能支持幾乎所有知名廠商的處理器,是嵌入式軟件開發(fā)中理想的交叉編譯器。它提供給應(yīng)用程序開發(fā)者建立藝術(shù)級的圖形用戶界面所需的所用功能。從 1996 年,Qt 進(jìn)入商業(yè)領(lǐng)域,它已經(jīng)成為全世界范圍內(nèi)數(shù)千種成功的應(yīng)用程序的基礎(chǔ)。 Qt 具有下列優(yōu)點(diǎn) : 優(yōu)良的跨平臺特性,面向?qū)ο螅?豐富的 API,支持 2D/3D 圖形渲染,支持 OpenGL ,大量的開發(fā)文檔 , XML 支持 ,Webkit 引擎的集成,可以實(shí)現(xiàn)本地界面與 Web 內(nèi)容的無縫集成 。Qt for x11 Linux:底層的顯示技術(shù)構(gòu)建在 Window 系統(tǒng)之上,完全依賴于Windows 系統(tǒng),在下層調(diào)用了 X Lib 的系統(tǒng)方法來顯示界面上的圖像。因?yàn)樵谇度胧皆O(shè)備上省略了 X 系統(tǒng),大大節(jié)省了許多的不必要的系統(tǒng)開銷,需要在 GUI 展示的圖像,直接寫入了 framebuffer,節(jié)省了系統(tǒng)資源,大大加快了顯示速度。兩者的體系結(jié)構(gòu)差別,如圖 21 所示:圖 21 Qt/E 和 Qt/X11 體系架構(gòu)對比因此,Qt/E 具有服務(wù)端層,這一層主要負(fù)責(zé)監(jiān)聽系統(tǒng)的事件,如:主要是keyboard 和 mouse 事件,移動終端輸出事件,管理域,管理 top 窗口,管理光標(biāo)和管理屏幕保護(hù)程序等等諸多功能。 Vim 簡介Vim 是 Linux 系統(tǒng)下最常用的文本編輯器,Vim 是一個(gè)類似于 Vi 的文本編輯器,Vim 是 Vi 的升級版,Vim 在 Vi 的基礎(chǔ)上增加了很多新的特性,Vim 普遍被推崇為類Vi 編輯器中最好的一個(gè)。最初的目標(biāo)只是完全復(fù)制 vi 的功能,那個(gè)時(shí)候的 Vim 是 Vi IMitation(模擬)的簡稱。1992 年 版本的 Vim 被移植到了 UNIX 和 MSDOS 上。 Vim 的發(fā)展很迅速,在這之后,Vim 加入了不計(jì)其數(shù)的新功能。從那之后,同一屏幕可以顯示的 Vim 編輯文件數(shù)可以不止一個(gè)了。1998 年 版本的 Vim 加入了 highlight(語法高亮)功能。2022 年 5 月發(fā)布的 Vim 版更加入了拼字檢查、上下文相關(guān)補(bǔ)完,標(biāo)簽頁編輯等新功能?;?Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 6 3 系統(tǒng)需求分析 需求分析的目的需求分析就是要明確需求方和開發(fā)放需要開發(fā)一個(gè)什么樣的產(chǎn)品才能滿足客戶的需求,即明確“需要干什么” ,不需要知道“怎么干” 。 需求分析的地位與作用需求分析是開發(fā)軟件是否成功的決定因素。在軟件需求分析的過程中,導(dǎo)致問題的出現(xiàn)主要包括以下方面,包括用戶的需求不明確,需要實(shí)現(xiàn)的功能不明確, 、需求的文檔不是很完善等,都可能造成產(chǎn)品開發(fā)的過程中的出現(xiàn)很多困難。 系統(tǒng)應(yīng)該滿足的功能通過調(diào)查研究顯示,一個(gè)良好的輸入法不僅僅要使用戶輸入起來方便,更需要安全、可靠、高效的系統(tǒng)支持。(2)占用系統(tǒng)資源少。 本系統(tǒng)需要實(shí)現(xiàn)的功能是:中文,大小寫英文,常用標(biāo)點(diǎn)符號的輸入,具有軟鍵盤,并支持觸摸屏,具體功能模塊如圖 31 所示:基于 Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 7 圖 31 系統(tǒng)功能模塊圖基于 Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 8 4 系統(tǒng)設(shè)計(jì) 搭建 Qt/E 開發(fā)環(huán)境在進(jìn)行開發(fā)之前,首先決定的第一個(gè)問題就是,該使用什么開發(fā)環(huán)境來編寫該系統(tǒng)? 目前常見的嵌入式 GUI,主要有 Qt,GTK+幾種工具,Qt 的移植性更強(qiáng),基于此,本系統(tǒng)采用 Qt 來開發(fā)。開發(fā)語言為 C++。移植步驟:(1)準(zhǔn)備好如下源碼包:Qt/E 源碼包:Qtx11 源碼包:觸摸屏源碼包:tslib1[1].(2)編譯安裝 編譯 應(yīng)設(shè)置好參數(shù),具體參數(shù)如圖 41 所示:圖 41 編譯 tslib 參數(shù)(3)編譯安裝 安裝 時(shí),最關(guān)鍵的步驟是設(shè)置 的環(huán)境變量環(huán)境變量具體如圖 42 所示: 圖 42 環(huán)境變量(4)編譯安裝 Qt/基于 Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 9 編譯安裝 Qt/ 時(shí),需設(shè)置好編譯參數(shù),具體參數(shù)如圖 43 所示:圖 43 編譯 Qt/ 參數(shù) “I/home/mytslib/include L/home/ mytslib/lib ”指明剛才編譯出來觸摸屏的庫文件及頭文件存放路徑。編譯完成后,安裝時(shí),最關(guān)鍵的步驟還是設(shè)置環(huán)境變量具體的環(huán)境變量如圖 44 所示:圖 44 Qt/ 環(huán)境變量(5)移植相關(guān)庫文件至開發(fā)板首先準(zhǔn)備一個(gè)文件系統(tǒng),根據(jù)友善提供的文檔制作了一個(gè)文件系統(tǒng),路徑為/opt/rootfs, 其中 rootfs 就是根文件系統(tǒng)。需移植到開發(fā)板的文件如圖 45 所示:基于 Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 10 圖 45 需移植到開發(fā)板的文件移植如上文件到開發(fā)板后,編輯開發(fā)板/etc/profile,用來在開發(fā)板上設(shè)置環(huán)境變量,具體的環(huán)境變量如圖 46 所示:圖 46 移植 Qt/E 應(yīng)設(shè)置的環(huán)境變量設(shè)置觸摸屏的配置文件 把 module_raw collie 前面的 “?!碧柸サ?,然后把該行移至行首,最后配置文件如圖 47 所示:基于 Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 11 圖 47 觸摸屏配置文件(6)驗(yàn)證 tslib 是否移植成功.在開發(fā)板終端下執(zhí)行觸摸較正程序:在終端執(zhí)行 ./ts_calibrate 運(yùn)行該程序主要是校正觸摸屏,運(yùn)行 ts_calibrate 后,屏幕將出現(xiàn)五點(diǎn)校正畫面,依次點(diǎn)擊五點(diǎn)后,將生成觸摸屏校正數(shù)據(jù)文件/etc/pointercal .在開發(fā)板終端下執(zhí)行觸摸屏拖曳測試程序:在終端執(zhí)行./ts_test 運(yùn)行后屏幕出現(xiàn) drag,draw 依次選擇后進(jìn)行測試,同時(shí)終端下出現(xiàn)拖曳后的取點(diǎn)數(shù)據(jù)(7)驗(yàn)證 是否移植成功在宿主機(jī)上編譯好 Qt 的例子程序,下載到開發(fā)板下并執(zhí)行:./application –qws –font unifont如能正常顯示, 移植成功。(2)TFTP 服務(wù)的配置在終端中運(yùn)行 setupsystem servicetftp 增加 TFTP 服務(wù),并去掉 ipchains 和iptables 兩項(xiàng),然后在 Firewall configuration,選中 no firewall,保存退出,執(zhí)行service xid restart 啟動 TFTP 服務(wù)。(4)Linux 內(nèi)核移植通過并口,宿主機(jī)向目標(biāo)開發(fā)板的 Flash 燒寫引導(dǎo)程序 vivi,燒寫完畢后通過TFTP 服務(wù)把經(jīng)過裁剪的 Linux 內(nèi)核鏡像文件以及根文件系統(tǒng)下載到目標(biāo)板的 RAM中,然后由 dnw 完成內(nèi)核及根文件系統(tǒng)從內(nèi)存到 Flash 的燒寫?;?Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 12 輸入法設(shè)計(jì) 輸入法的原理Qt/E 是 C/S 結(jié)構(gòu),在服務(wù)端負(fù)責(zé)監(jiān)聽系統(tǒng)消息,比如:keyboard 和 mouse 消息,而中文輸入法是一個(gè)全局性的模塊,所以在 Qt/E 中,把中文輸入法的設(shè)計(jì)放在了服務(wù)層。QWSInputMethod 是 Qt/E 的一個(gè)類,其是中文輸入法的基類,在QWSInputMethod 這個(gè)基類中定義了一些函數(shù)用以支持輸入法的程序的設(shè)計(jì),本文從此基類中繼承出了一個(gè)中文輸入法的類,在該類中處理 keyboard 和 mouse 事件,把接收到的 keyboard 事件按照用戶所需要輸入的漢字的拼音,從字庫中查找出之對應(yīng)的漢字,詞組,或者是一個(gè)漢語短語,發(fā)送給當(dāng)前的顯示窗口,或者把用戶最后選擇的漢字、短語或詞組發(fā)送到當(dāng)前的顯示窗口。字符,漢字,英文的輸入一般分為三大步驟:(1)開始準(zhǔn)備輸入當(dāng)用戶在軟鍵盤上按下第一個(gè) keyboard 按鍵時(shí),輸入法會自動創(chuàng)建出輸入法的上下文,輸入法上下文包含 keyboard 輸入字符。(3)輸入完成當(dāng)用戶認(rèn)為輸入已經(jīng)完成的時(shí),用戶會選擇以某種方式來選擇最終的字符串,通常是使用 keyboard 按鍵,或者 mouse 點(diǎn)擊,用戶最終所選擇的字符串會被發(fā)送到當(dāng)前的編輯窗口。系統(tǒng)中實(shí)現(xiàn)中文輸入的接口為:bool GetKey(int,int)。139。 }基于 Qt/E 的嵌入式中文輸入法的設(shè)計(jì)與實(shí)現(xiàn) 14 else{ bKeyProcessed=false。 } } e
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1