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

正文內(nèi)容

基于qt的嵌入式終端界面開發(fā)設(shè)計(jì)-資料下載頁

2024-11-07 21:42本頁面

【導(dǎo)讀】設(shè)計(jì)(論文)題目:基于QT的嵌入式終端界面開發(fā)__. 院系信息工程學(xué)院。專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)

  

【正文】 制聲音,【 option】選項(xiàng)菜單來進(jìn)行下一個(gè)界面切換和選擇播放模式。從【 option】選擇【 My favourites】進(jìn)入 My favourites 界面,在該界面中選擇【 play】播放選擇【 Delete】將選中歌曲從 Myfavourite 列表中刪除,【 back】退回主界面。從【 option】選擇【 AllSong】進(jìn)入 All Song 界面,在該界面中選擇【 play】播放選中的歌曲,選擇【 Add】將選中歌曲加入到 Myfavourite列表中,【 back】退回主界面。從【 option】選擇其他選項(xiàng)控制播放模式。播放模式有列表順序播放,列表循環(huán)播放,隨機(jī)播放,單曲循環(huán)播放。 進(jìn)入視頻播放器界面有播放 /暫?!俊鞠乱皇住俊旧弦皇住俊究爝M(jìn)】【快退】和一個(gè)音量控制滾動(dòng)條來控制聲音以及從【 Full】進(jìn)入全屏播放。 26 6. 瀏覽 器畫面 設(shè)計(jì) 圖 313瀏覽器畫面設(shè)計(jì) 瀏覽器地址欄用于輸入網(wǎng)址,搜索欄用百度或谷歌搜索引擎進(jìn)行關(guān)鍵詞搜索。 常用網(wǎng)站的鏈接顯示, Option 選項(xiàng)菜單,主要選項(xiàng)有【 Start Page】 (開啟首頁 ),【 Web List】 (網(wǎng)頁列表 ,顯示已打開網(wǎng)頁 )和【 Exit】 (退出瀏覽器 ) 7. 電 子相 冊畫面 設(shè)計(jì) 圖 313電子相冊畫面設(shè)計(jì) 進(jìn)入電子相冊一開始顯示的是圖片選擇界面,顯示系統(tǒng)文件夾 Album 下的圖片的縮略圖,可以通過鍵盤或鼠標(biāo)選擇一個(gè)圖片,選擇其中一個(gè)小圖片可以進(jìn)入該圖片的瀏覽界面,通過圖片選擇界面下邊的【 option】 可以進(jìn)入選項(xiàng)菜單,【 option】下有【 open】,【 Delete】,【 Help】,【 Exit】 4 個(gè)選項(xiàng),【 open】為打開當(dāng)前選擇的圖片,【 Delete】為刪除當(dāng)前選擇的圖片,【 Help】顯示幫助信息,【 Exit】為退出電子相冊。進(jìn)入圖片瀏覽界面可以通過該界面下的【 option】選項(xiàng)改變?yōu)g 27 覽模式,【 option】有如下選項(xiàng):【 Zoom In】為放大,【 Zoom Out】為縮小顯示,【 Turn Left】為順時(shí)針旋轉(zhuǎn),【 Turn Right】為逆時(shí)針旋轉(zhuǎn),【 Auto View】為幻燈模式播放圖片,【 Full Screen】為全頻顯示,【 Back to Normal】為恢復(fù)原始圖片顯示,【 Exit】為退出圖片瀏覽界面。 四 .實(shí)現(xiàn) 思路 (一) 主界面實(shí)現(xiàn)思路 主界面的設(shè)計(jì),主要是各個(gè)功能按鈕移動(dòng),軌跡形成一個(gè)類似橢圓,并有較明顯滑動(dòng)效果的實(shí)現(xiàn)。 界面中的功能按鈕為 Qt 中的 QToolButton 類的實(shí)例化。首先定義了一個(gè)QToolButton 類數(shù)組,有六個(gè)成員,即六個(gè)功能按鈕。功能按鈕的移動(dòng),是從一個(gè)按鈕的位置移動(dòng)到下一個(gè)或上一個(gè)按鈕的位置。按鈕的移動(dòng)很容易實(shí)現(xiàn),直接調(diào)用函數(shù)即可。由于兩個(gè)按鈕之間有一定距離且移動(dòng)速度太快,這 樣直接從一個(gè)位置移動(dòng)到另一個(gè)位置,看到的效果就是功能按鈕上圖標(biāo)的跳變,感覺不到按鈕的移動(dòng)。要看到移動(dòng)的效果,那么就需要縮短移動(dòng)的距離,在移動(dòng)到下一個(gè)或上一個(gè)位置之前增加移動(dòng)的過渡點(diǎn),并且使用延遲在每一個(gè)過渡點(diǎn)使按鈕上的圖標(biāo)得到短暫的顯示。這樣移動(dòng)經(jīng)過多個(gè)過渡點(diǎn),整體移動(dòng)的效果就顯示出來,便能看到功能按鈕之間的移動(dòng)有較明顯的滑動(dòng)效果。為了有較好的顯示效果,功能按鈕相互之間都設(shè)置了四個(gè)過渡點(diǎn)。過渡點(diǎn)的坐標(biāo)可由相鄰的功能按鈕的幾何參數(shù)計(jì)算出。 主界面中按鈕的移動(dòng)是循環(huán)移動(dòng),整體效果看上去可以是順時(shí)針旋轉(zhuǎn)或逆時(shí)針旋 轉(zhuǎn),且移動(dòng)到相應(yīng)位置后對應(yīng)圖標(biāo)大小也發(fā)生變化。如下圖: 圖 41主界面旋轉(zhuǎn)示意圖 1 功能按鈕移動(dòng)的實(shí)現(xiàn):首先每個(gè)按鈕每次移動(dòng)的最終位置固定,或?yàn)槠渖弦粋€(gè)按鈕的位置或?yàn)槠湎乱粋€(gè)按鈕的位置。每一個(gè)位置按鈕的大小也是固定的,所 28 以功能按鈕移動(dòng)到另一個(gè)位置時(shí),其按鈕大小和圖標(biāo)都要重新設(shè)置。按鈕大小的設(shè)置很容易實(shí)現(xiàn),主要是圖標(biāo)的設(shè)置較為麻煩。重新設(shè)置圖標(biāo),就是把圖標(biāo)縮放到對應(yīng)按鈕的大小。由于 Button 圖標(biāo) 自動(dòng)縮放的效果不是很好,所以采取提前處理好圖標(biāo)的幾種大小然后再設(shè)置相應(yīng)圖標(biāo)到對應(yīng)大小的功能按鈕的方法來實(shí)現(xiàn)。 每一個(gè)功能按鈕對應(yīng)一種圖標(biāo),移動(dòng)到每一個(gè)位置有其對應(yīng)大小的圖標(biāo)(圖標(biāo)不變,只是大小發(fā)生了變化),為了使移動(dòng)后加載對應(yīng)大小圖標(biāo)不出現(xiàn)混亂,所以定義了一個(gè)二維 QString 數(shù)組。該數(shù)組用于存放圖標(biāo)的名字,每一行存放的是不同大小的同一種圖標(biāo),共六行六種圖標(biāo),對應(yīng)六個(gè)功能按鈕。每個(gè)按鈕移動(dòng)到新的位置的時(shí)候,按鈕大小變化了,那么按鈕的圖標(biāo)得重新設(shè)置。各個(gè)位置的圖標(biāo)大小是固定的,直接在每一種圖標(biāo)中取出相應(yīng)大小的 圖標(biāo)即可。 這樣功能按鈕的一次移動(dòng)就實(shí)現(xiàn)了。 圖 42主界面旋轉(zhuǎn)示意圖 2 現(xiàn)在來解釋為什么使用 QToolButton 類數(shù)組,而不是單獨(dú)命名各個(gè)類。如上圖,看看一個(gè)位置上按鈕移動(dòng)的實(shí)現(xiàn)。 1位置的按鈕移動(dòng)到 2 位置,這是一次移動(dòng)(方向鍵按下一次)。當(dāng)再一次移動(dòng),同樣是 1 位置的按鈕移動(dòng)到 2位置。但是這次移動(dòng)的功能按鈕改變了,移動(dòng)的過渡點(diǎn)和移動(dòng)的最終位置都沒有發(fā)生改變,改變的僅僅是按鈕。那么 1 位置 移動(dòng)的按鈕就應(yīng)該設(shè)置為變量,每次把 1 位置的按鈕賦給那個(gè)變量就行了。但是一旦循環(huán)移動(dòng)起來, 1 位置的按鈕到底是哪一個(gè)就不明了了。明確該按鈕是很重要的,因?yàn)橹挥兄朗鞘裁垂δ馨粹o,才能設(shè)置其相對應(yīng)的圖標(biāo)。也可以通過比較,找出 1 位置的按鈕,但是這只是 1 個(gè)位置,共有六個(gè)位置,這是很麻煩的事情。 不過,采用類數(shù)組這個(gè)問題就很容易被解決了。首先,各個(gè)按鈕的下標(biāo)用變量表示,初始化時(shí)下標(biāo)變量標(biāo)志了對應(yīng)的按鈕(下標(biāo)變量的初始值也和二維圖標(biāo)名數(shù)組的行相對應(yīng))。移動(dòng)的時(shí)候, 1 位置的按鈕移動(dòng)走了,僅僅使數(shù)組下標(biāo)變量加減 1就得 到下一個(gè)按鈕,并同時(shí)判斷是否越界(越界就重新賦初值)。這樣就可以不斷循環(huán)移動(dòng),而且不需知道某個(gè)位置移動(dòng)的是什么功能按鈕,就能準(zhǔn)確地設(shè) 29 置其對應(yīng)的圖標(biāo)。因?yàn)閿?shù)組的下標(biāo)標(biāo)識(shí)了對應(yīng)按鈕的功能,同時(shí)也通過數(shù)組下標(biāo)匹配到圖標(biāo)名數(shù)組對應(yīng)的行,而該位置的按鈕大小已知即匹配到對應(yīng)的列,這樣就找到了對應(yīng)的圖標(biāo),所以是不需要明確知道該按鈕是什么功能的。由于是左右旋轉(zhuǎn),所以需要使用兩套下標(biāo)變量,并且在一次旋轉(zhuǎn)后,要把該狀態(tài)下的下標(biāo)變量賦給另一狀態(tài)下的下標(biāo)變量,這樣左右旋轉(zhuǎn)起來才能很好的銜接,不會(huì)出現(xiàn)移動(dòng)功能按鈕亂套的現(xiàn)象。至此,整 個(gè)主界面的移動(dòng)就算完全實(shí)現(xiàn)。 (二) 系統(tǒng)管理實(shí)現(xiàn)思路 1. 主題轉(zhuǎn)換 本系統(tǒng)的主題轉(zhuǎn)換主要是更改背景圖片來實(shí)現(xiàn)的。根據(jù)選定的界面背景圖片設(shè)定了三種主題:藍(lán)色( BuleStyle)、黃色( YellowStyle)、紅色( RedStyle)。 定義一個(gè)標(biāo)志當(dāng)前主題的 QString 類型的全局變量。再次使用軟件時(shí)能繼續(xù)延用上次選定的主題的實(shí)現(xiàn) 。 每次打開軟件時(shí),都會(huì)去檢測存放了以上定義的全局的值的文件 是否存在。如果該文件存在則將其內(nèi)容賦給全局;如果不存在,給全局一個(gè)默認(rèn)的值 BuleStyle,并且將改制寫入創(chuàng)建 的 文件中。 通過“主題轉(zhuǎn)換界面”中選擇的主題,來實(shí)現(xiàn)全局變量的改變 。 全局改變后,“主題轉(zhuǎn)換界面”的處理 。 向父窗口“系統(tǒng)管理界面”通過 emit 發(fā)送自己定義的無參信號(hào),通知其這一變換事件的發(fā)生。在構(gòu)造函數(shù)中用 connect 將發(fā)送的信號(hào)與“系統(tǒng)管理界面類”的接收到剛發(fā)送的信號(hào)時(shí)的處理槽函數(shù)進(jìn)行連接。最后是關(guān)閉“主題轉(zhuǎn)換界面”。 系統(tǒng)管理界面接收到信號(hào)后的處理 : 其對應(yīng)的槽函數(shù)將全局的值作為配置文件的 section 字段傳入配置文件分析函數(shù)中,從而獲得當(dāng)前選擇的主題的資源圖片路徑。然后重新調(diào)用導(dǎo)入系統(tǒng)管 理界面中控件背景的代碼改變主題。向“主界面”通過 emit 發(fā)送自己定義的無參信號(hào),通知“主界面”這一變化。同時(shí)在構(gòu)造函數(shù)中用 connect 將發(fā)送的信號(hào)與“主界面類”的接收到剛發(fā)送信號(hào)時(shí)的處理槽函數(shù)進(jìn)行連接。 2. 語言切換 主要設(shè)定了三種顯示語言:英文、中文、日文(默認(rèn)是英文)。通過一定命令生成 *.qm 文件。 “語言切換界面”的處理 : 通過界面中的選擇確定當(dāng)前要使用的顯示語言,定義一個(gè) QString 類型的變量來存儲(chǔ)對應(yīng)語言的 qm 文件名。向“系統(tǒng)管理界面”通過 emit 發(fā)送參數(shù)為以上獲得的 QString 類型字符串的改變語 言的信號(hào)。 在構(gòu)造函數(shù)中通過 connect 將該信號(hào)和“系統(tǒng)管理界面類”的對應(yīng)的槽函數(shù)進(jìn)行連接。最后是關(guān)閉“語言切換界面”?!跋到y(tǒng)管理界面”接收到語言切換信號(hào)后的處理 : 在對應(yīng)的處理語言切換的槽函數(shù)中繼續(xù)向“主界面”發(fā)送參數(shù)為存儲(chǔ)國際化 qm 源文件名的信號(hào)。 30 “主界面”的處理 : 在對應(yīng)的處理語言切換的槽函數(shù)中將 qm 文件 load 給QTranlator 類的對象。通過全局變量 qapp 加載該 QTranlator 類的對象來實(shí)現(xiàn)語言的切換。 3. 文件管理 進(jìn)了文件管理后,文件管理的界面是一直存在的。每一個(gè)操作完成后都會(huì)到當(dāng)前目錄下 去重新獲取該目錄下的內(nèi)容,然后顯示在界面上。該部分的所有界面類都有兩個(gè)成員變量: mQS_CurDir(當(dāng)前路徑)和 mQS_CurText(當(dāng)前選擇的對象)?!拔募芾斫缑妗钡姆祷?: 如果是第一級(jí)目錄,直接關(guān)閉“文件管理界面”,返回到“系統(tǒng)管理界面”。否則,退回上級(jí)目錄。主要通過將字符串 mQS_CurDir 的最后一個(gè)“ /”之后的內(nèi)容刪掉后,向自己發(fā)送信號(hào),在該信號(hào)的對應(yīng)槽函數(shù)中再次到新的當(dāng)前路徑下去獲取內(nèi)容然后顯示實(shí)現(xiàn)的。 各個(gè)功能菜單界面 : 只負(fù)責(zé)從界面中獲取選擇的操作,然后實(shí)例化對應(yīng)操作的界面類即可。 ( 1) 新建文 件夾 : 通過 QDir 類的成員函數(shù) mkdir 去實(shí)現(xiàn)在某目錄下創(chuàng)建文件夾。創(chuàng)建的文件夾名不可為空、不能包含“ /”、不能是模塊固定的文件夾、也不能是當(dāng)前目錄下已經(jīng)存在的,這些都是通過字符串比較來實(shí)現(xiàn)的。 ( 2) 重命名 : 通過 QDir 類的成員函數(shù) rename 去實(shí)現(xiàn)對象名稱的改變。如果是文件夾,直接將輸入框( QLineEdit 類的對象)中的內(nèi)容作為名稱。此處文件夾名限定和上面相同。如果是文件,輸入框中的內(nèi)容加上擴(kuò)展名后作為新的名稱。文件名不可為空、不能包含“ /”、也不能是當(dāng)前目錄下已經(jīng)存在的。 ( 3) 刪除 : 如果是 album 目錄下的圖 片文件刪除,直接調(diào)用 QDir 類的成員函數(shù)remove 進(jìn)行刪除,同時(shí)還要?jiǎng)h除該目錄下隱藏文件夾 hidefolder 中與剛刪除的文件同名的圖片文件。其他情況,運(yùn)用遞歸思想,從對象的最內(nèi)層的文件及文件夾依次向外刪除。具體刪除和上面調(diào)用的函數(shù)一樣。 ( 4) 查找 :從第一級(jí)目錄開始查找 ,運(yùn)用遞歸思想一級(jí)目錄一級(jí)目錄的查找,知道查找到對象或全部路徑查找完畢為止。每級(jí)目錄下具體查找是通過對該目錄下所有對象的名稱與目標(biāo)的名稱進(jìn)行比較來進(jìn)行(實(shí)際上就是字符串的比較)。如果同時(shí)存在多個(gè)對象時(shí),只能查找到第一個(gè)。 ( 5) 操作結(jié)果的處理 :如果非 正常結(jié)果,則彈出提示框,給出對應(yīng)提示。如果正常結(jié)果,則向“文件管理界面”發(fā)送參數(shù)為當(dāng)前路徑和當(dāng)前對象的信號(hào),在文件管理界面中響應(yīng)對應(yīng)的槽函數(shù),去實(shí)時(shí)的顯示操作結(jié)果。 (三) 記事本實(shí)現(xiàn)思路 記事本模塊主要使用 QTextEdit 控件來實(shí)現(xiàn)其主要功能, QTextEdit 部件提供了強(qiáng)大的單頁面的多信息文本編輯器。 QTextEdit 有默認(rèn)的鍵盤響應(yīng)來輸入,由于QTextEdit 是作為一個(gè)界面的組合來使用,而 QTextEdit 的 keyPressEvent 函數(shù)為 31 虛保護(hù),不可以直接使用,所以自定義了一個(gè)類 NpMyTextedit 來實(shí)現(xiàn)公有的keyPressEvent 函數(shù)。 Option 界面的繼承:在記事本模塊中有 3個(gè) Option 的界面,其中打開和新建的 Option 繼承自記事本主界面的 Option,這三個(gè)界面都含有一個(gè) QListBox 控件,只是菜單項(xiàng)不同,在子類中只要初始化的時(shí)候加入不同的的菜單項(xiàng)就可以了。 打開文件:打開文件是在一個(gè)目錄中先找到該文件,然后用將文件內(nèi)容讀到QTextStream 中再顯示在 QTextEdit 中。部分代碼如下: mQS_FileName =QS_FolderDir +gQS_Np_FileName。 QFile file( mQS_FileName )。 if ( ( IO_ReadOnly ) ) { QTextStream ts( amp。file )。 mpNMT_OpenTextEditsetText(())。 } 刪除文件:刪除文件也是先在一個(gè)目錄中找到該文件再調(diào)用 Remove函數(shù)刪除。部分代碼如下: QString QS_FleNme =QS_FolderDir。 remove(QS_FleNme )。 打開下一個(gè)文件和打 開上一個(gè)文件:將從目錄中得到的文件名存入一個(gè)QStringlist 中,每次從 QStringlist 中找要打開的文件,部分代碼如下: (QS_FolderDir)。 (QDir::Files|QDir::Hidden|QDir::NoSymLinks)。 (QDir::Time
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1