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

正文內(nèi)容

基于qt的嵌入式終端界面開發(fā)設計-閱讀頁

2025-02-02 15:06本頁面
  

【正文】 面選擇播放器模塊圖標進入音/視頻播放器選擇界面,在選擇界面里選AudioPlayer進入音頻播放器,選擇Videoplayer進入視頻播放器,選擇【back】返回主界面。從【option】選擇【My favourites】進入My favourites界面,在該界面中選擇【play】播放選擇【Delete】將選中歌曲從Myfavourite列表中刪除,【back】退回主界面。從【option】選擇其他選項控制播放模式。進入視頻播放器界面有播放/暫?!俊鞠乱皇住俊旧弦皇住俊究爝M】【快退】和一個音量控制滾動條來控制聲音以及從【Full】進入全屏播放。常用網(wǎng)站的鏈接顯示,Option選項菜單,主要選項有【Start Page】(開啟首頁),【W(wǎng)eb List】(網(wǎng)頁列表,顯示已打開網(wǎng)頁)和【Exit】(退出瀏覽器)7. 電子相冊畫面設計圖313電子相冊畫面設計進入電子相冊一開始顯示的是圖片選擇界面,顯示系統(tǒng)文件夾Album下的圖片的縮略圖,可以通過鍵盤或鼠標選擇一個圖片,選擇其中一個小圖片可以進入該圖片的瀏覽界面,通過圖片選擇界面下邊的【option】可以進入選項菜單,【option】下有【open】,【Delete】,【Help】,【Exit】4個選項,【open】為打開當前選擇的圖片,【Delete】為刪除當前選擇的圖片,【Help】顯示幫助信息,【Exit】為退出電子相冊。四. 實現(xiàn)思路(一) 主界面實現(xiàn)思路主界面的設計,主要是各個功能按鈕移動,軌跡形成一個類似橢圓,并有較明顯滑動效果的實現(xiàn)。首先定義了一個QToolButton類數(shù)組,有六個成員,即六個功能按鈕。按鈕的移動很容易實現(xiàn),直接調(diào)用函數(shù)即可。要看到移動的效果,那么就需要縮短移動的距離,在移動到下一個或上一個位置之前增加移動的過渡點,并且使用延遲在每一個過渡點使按鈕上的圖標得到短暫的顯示。為了有較好的顯示效果,功能按鈕相互之間都設置了四個過渡點。主界面中按鈕的移動是循環(huán)移動,整體效果看上去可以是順時針旋轉(zhuǎn)或逆時針旋轉(zhuǎn),且移動到相應位置后對應圖標大小也發(fā)生變化。每一個位置按鈕的大小也是固定的,所以功能按鈕移動到另一個位置時,其按鈕大小和圖標都要重新設置。重新設置圖標,就是把圖標縮放到對應按鈕的大小。每一個功能按鈕對應一種圖標,移動到每一個位置有其對應大小的圖標(圖標不變,只是大小發(fā)生了變化),為了使移動后加載對應大小圖標不出現(xiàn)混亂,所以定義了一個二維QString數(shù)組。每個按鈕移動到新的位置的時候,按鈕大小變化了,那么按鈕的圖標得重新設置。這樣功能按鈕的一次移動就實現(xiàn)了。如上圖,看看一個位置上按鈕移動的實現(xiàn)。當再一次移動,同樣是1位置的按鈕移動到2位置。那么1位置移動的按鈕就應該設置為變量,每次把1位置的按鈕賦給那個變量就行了。明確該按鈕是很重要的,因為只有知道是什么功能按鈕,才能設置其相對應的圖標。 不過,采用類數(shù)組這個問題就很容易被解決了。移動的時候,1位置的按鈕移動走了,僅僅使數(shù)組下標變量加減1就得到下一個按鈕,并同時判斷是否越界(越界就重新賦初值)。因為數(shù)組的下標標識了對應按鈕的功能,同時也通過數(shù)組下標匹配到圖標名數(shù)組對應的行,而該位置的按鈕大小已知即匹配到對應的列,這樣就找到了對應的圖標,所以是不需要明確知道該按鈕是什么功能的。至此,整個主界面的移動就算完全實現(xiàn)。根據(jù)選定的界面背景圖片設定了三種主題:藍色(BuleStyle)、黃色(YellowStyle)、紅色(RedStyle)。再次使用軟件時能繼續(xù)延用上次選定的主題的實現(xiàn)。如果該文件存在則將其內(nèi)容賦給全局;如果不存在,給全局一個默認的值BuleStyle。全局改變后,“主題轉(zhuǎn)換界面”的處理。在構(gòu)造函數(shù)中用connect將發(fā)送的信號與“系統(tǒng)管理界面類”的接收到剛發(fā)送的信號時的處理槽函數(shù)進行連接。系統(tǒng)管理界面接收到信號后的處理:其對應的槽函數(shù)將全局的值作為配置文件的section字段傳入配置文件分析函數(shù)中,從而獲得當前選擇的主題的資源圖片路徑。向“主界面”通過emit發(fā)送自己定義的無參信號,通知“主界面”這一變化。2. 語言切換主要設定了三種顯示語言:英文、中文、日文(默認是英文)?!罢Z言切換界面”的處理:通過界面中的選擇確定當前要使用的顯示語言,定義一個QString類型的變量來存儲對應語言的qm文件名。在構(gòu)造函數(shù)中通過connect將該信號和“系統(tǒng)管理界面類”的對應的槽函數(shù)進行連接?!跋到y(tǒng)管理界面”接收到語言切換信號后的處理:在對應的處理語言切換的槽函數(shù)中繼續(xù)向“主界面”發(fā)送參數(shù)為存儲國際化qm源文件名的信號。通過全局變量qapp加載該QTranlator類的對象來實現(xiàn)語言的切換。每一個操作完成后都會到當前目錄下去重新獲取該目錄下的內(nèi)容,然后顯示在界面上?!拔募芾斫缑妗钡姆祷兀喝绻堑谝患壞夸洠苯雨P(guān)閉“文件管理界面”,返回到“系統(tǒng)管理界面”。主要通過將字符串mQS_CurDir的最后一個“/”之后的內(nèi)容刪掉后,向自己發(fā)送信號,在該信號的對應槽函數(shù)中再次到新的當前路徑下去獲取內(nèi)容然后顯示實現(xiàn)的。(1) 新建文件夾:通過QDir類的成員函數(shù)mkdir去實現(xiàn)在某目錄下創(chuàng)建文件夾。(2) 重命名:通過QDir類的成員函數(shù)rename去實現(xiàn)對象名稱的改變。此處文件夾名限定和上面相同。文件名不可為空、不能包含“/”、也不能是當前目錄下已經(jīng)存在的。其他情況,運用遞歸思想,從對象的最內(nèi)層的文件及文件夾依次向外刪除。(4) 查找:從第一級目錄開始查找,運用遞歸思想一級目錄一級目錄的查找,知道查找到對象或全部路徑查找完畢為止。如果同時存在多個對象時,只能查找到第一個。如果正常結(jié)果,則向“文件管理界面”發(fā)送參數(shù)為當前路徑和當前對象的信號,在文件管理界面中響應對應的槽函數(shù),去實時的顯示操作結(jié)果。QTextEdit有默認的鍵盤響應來輸入,由于QTextEdit是作為一個界面的組合來使用,而QTextEdit的keyPressEvent函數(shù)為虛保護,不可以直接使用,所以自定義了一個類NpMyTextedit來實現(xiàn)公有的keyPressEvent函數(shù)。打開文件:打開文件是在一個目錄中先找到該文件,然后用將文件內(nèi)容讀到QTextStream中再顯示在QTextEdit中。 QFile file( mQS_FileName )。file )。 }刪除文件:刪除文件也是先在一個目錄中找到該文件再調(diào)用Remove函數(shù)刪除。 remove(QS_FleNme )。 (QDir::Files|QDir::Hidden|QDir::NoSymLinks)。 (*.txt *.TXT)。軟鍵盤的實現(xiàn): 定義按鍵類MyKey繼承自QPushButton,點擊的時候發(fā)射該Button的id和text。...void MyKey::KeyClicked(){ emit thisKeyClicked(thism_id)。}...connect( Button[i],SIGNAL(KeyClicked(QString )),parentWidget(),SLOT( Write(QString )))。進入該模塊時候會從一個配置文件中讀取當前通訊錄的信息。刪除記錄的時候可以直接從QListView中刪除一個結(jié)點。實時查找功能:定義一個QTimer將timeout連接一個IsEmpty()槽函數(shù),在該函數(shù)中判斷查找框中內(nèi)容是否為空,不空則發(fā)射一個信號Find,該信號連接到槽函數(shù)SearchSlot(),該函數(shù)從QListView控件中搜索匹配的字符串,并將查找到的信息高亮顯示。刪除記錄:直接從QListView控件中刪除結(jié)點。pQLVI_ParentItem = pQLVI_CurrentItemparent()。}else {mpQLV_PhoneListtakeItem(pQLVI_CurrentItem)。保存功能,保存功能實際上是QListView控件本身就有的功能,添加刪除記錄后QListView會自動更新,只不過在退出的時候需要把QListView控件的信息保存到配置文件中。linux能夠采用管道的方式把一個進程的輸出做為另外一個進程的輸入來使用。mplayer恰好就屬于程序B這種類型的軟件。另:瀏覽器模塊也是采用QProcess在主界面里面調(diào)用的,方法與上面基本類似。3. 循環(huán)模式的實現(xiàn)mplayer本身提供了循環(huán)模式的一些參數(shù),但是必須依賴于一個列表,也就是必須事先確定要播放的所有文件,考慮到實現(xiàn)起來更加靈活,所以模式控制這一塊都是自己實現(xiàn)的,模式控制的前提是保證無間斷播放,只要不退出播放器,在播放完一首歌曲后會自動去找下一首,而找下一首歌的時候是通過模式來控制的,找下一首的過程很簡單在事先定義的歌曲鏈表里面找,這樣做還有一個好處就是模式與列表無關(guān),即不論所有歌曲列表還是自定義列表都可以有這些模式,只需在查找的時候賦給不同的鏈表頭就可以了。5. 歌詞顯示功能的實現(xiàn)基本原理是在歌詞文件里面提取出歌詞和時間并顯示在界面上,建立一個鏈表,在提取歌詞時保存每句歌詞的時間和內(nèi)容,歌詞提取基本沒什么問題,關(guān)鍵問題是顯示的效果,最開始的實現(xiàn)是用“跳動“的label來顯示歌詞,這樣雖然很實時,但是效果比較生硬,后來通過將所有歌詞顯示在一個自定義label上,在慢慢移動顯示區(qū)域,這樣做效果好多了但是顯示的不是那么實時了,主要是顯示的時候不是一句一句的顯示。由于KonquerorEmbedded(以下簡稱Konqembed)基于QT開發(fā)庫,使用GPL協(xié)議發(fā)布并提供良好的網(wǎng)頁瀏覽支持,因故選擇了它做瀏覽器模塊的內(nèi)核。開始頁面主要在BroMainForm類中,里面有三個控件的定義,分別是QLineEdit、QComboBox和QListBox控件,分別可以輸入網(wǎng)址、搜索關(guān)鍵字和打開書簽網(wǎng)頁。3. 編寫代碼縫合內(nèi)核與界面(1) 開始頁面的縫合在MainWindowBase類中,添加一個BroMainForm的指針成員變量,然后在構(gòu)造函數(shù)中實例化它,當瀏覽器開始運行后就讓開始頁面顯示(采用show()函數(shù)),并且把鼠標、鍵盤的控制焦點轉(zhuǎn)移給它,于是進入到它的事件循環(huán)當中。4. 界面響應定義(1) 開始頁面響應對相關(guān)鼠標、按鍵功能的函數(shù)重寫。(2) 頁面瀏覽響應當進入網(wǎng)頁瀏覽頁面后,控制焦點卻沒有被轉(zhuǎn)移(默認情況下的Bug),必須得在當前網(wǎng)頁視圖中單擊一下鼠標,使其獲得焦點;在其獲得焦點后,就可以用鍵盤進行操作了;當用戶在網(wǎng)頁顯示視圖中進行鼠標操作時,都是使用的Konqembed的默認功能,若使用按鍵事件則是使用我寫的事件響應函數(shù),對每種操作如上下光標鍵、功能鍵、確認鍵及退出鍵進行相關(guān)響應,其主要實現(xiàn)方法是模擬按鍵事件。主題切換是從命令行獲取主界面?zhèn)魅氲膮?shù),其中包括redyellow(blue風格為默認),然后在main函數(shù)中進行相應的解析并加載相應的樣式風格圖片。6. 多窗口列表顯示調(diào)用View、BrowserView類中的HistoryEntry結(jié)構(gòu)體的相關(guān)操作函數(shù),包括createHistoryEntry、updateHistoryEntry、goBack、goForward、canGoBack及canGoForwa rd等等。(七) 電子相冊實現(xiàn)思路用戶進入電子相冊模塊后,電子相冊通過QImage類的load函數(shù)來加載圖片到一個QImage類型的變量中。主要功能實現(xiàn)如下:向左旋轉(zhuǎn)操作:將旋轉(zhuǎn)角度參數(shù)mi_Angle做如下變化mi_Angle = (mi_Angle 90) % 360。縮放操作:根據(jù)操作改變mi_ChangeSize的值;全屏模式和返回普通模式操作:改變相框大小參數(shù);圖片顯示過程流程圖(主要包含Scale()函數(shù)流程):圖43電子相冊流程圖 參考文獻[1] QT參考文檔 網(wǎng)址:[2] 《Linux窗口程序設計—QT4精彩實例分析》 成潔 盧紫毅著 清華大學出版社[3] 《Rad Hat Linux 9實用教程》 方建超著 中國鐵道出版社[4] 《C++程序設計》譚浩強著 清華大學出版社 注 釋1. Qt是Trolltech 公司的一個產(chǎn)品,是一個多平臺的C++圖形用戶界面應用程序框架。3. 以Q開頭的類皆為QT中的類。 附 錄(一) Qt/X11的編譯安裝簡介1. 準備階段準備編譯環(huán)境:1.操作系統(tǒng):RedHat Linux 92.編譯器:3.Qt庫版本:2. 安裝1.,將解壓后的默認目錄改為qt2.執(zhí)行Configure命令并設置環(huán)境變量Configure時可以加入相關(guān)參數(shù) 如需GIF支持加入?yún)?shù) qtgif,可以通過 ./configure help來查看需要加入的參數(shù),在profile文件中添加如下設置: QTDIR=/usr/local/qt PATH=$QTDIR/bin:$PATH MANPATH=$QTDIR/man:$MANPATH LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH3.make以及make install(二) 開源播放器Mplayer編譯安裝簡介由于在程序中需要使用到MPlayer解碼庫,所以必須安裝MPlayer。開發(fā)對象有手機、掌上電腦、機電系統(tǒng)等。進行嵌入式開發(fā)具有良好的應用前景,從20世紀70年代出現(xiàn)的單片機到今天各式各樣的微處理器,微控制器的應用,嵌入式系統(tǒng)已有30多年的發(fā)展歷史。進入21世紀,嵌入式的應用主要是各種嵌入式應用軟件的開發(fā),雖然嵌入式系統(tǒng)是一種軟硬件結(jié)合的系統(tǒng),但隨著應用的升級以及復雜化,嵌入式軟件開發(fā)所占的分量越來越大。越來越多的嵌入式系統(tǒng),包括高端手機、PDA、智能家電、車載導航等系統(tǒng)都要求提供全功能的Web瀏覽器以及娛樂等各種功能,顯然,如果沒有一個高性能的GUI支持,這些功能都是無法實現(xiàn)的。本課題研究的方向是在應用系統(tǒng)的基礎(chǔ)上進行應用軟件的開發(fā)。本課題突出
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1