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

正文內(nèi)容

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

2025-01-18 15:06本頁面
  

【正文】 utton[i],SIGNAL(KeyClicked(QString )),parentWidget(),SLOT( Write(QString )))。...(四) 通訊錄實(shí)現(xiàn)思路通訊錄模塊維護(hù)一個用戶的通訊錄,包括姓名、電話號碼、郵箱、所在組。進(jìn)入該模塊時候會從一個配置文件中讀取當(dāng)前通訊錄的信息。每條記錄存入一個結(jié)構(gòu)體,將所有信息顯示到QListView控件中。刪除記錄的時候可以直接從QListView中刪除一個結(jié)點(diǎn)。退出通訊錄時再將QListView控件中提取信息存入配置文件中。實(shí)時查找功能:定義一個QTimer將timeout連接一個IsEmpty()槽函數(shù),在該函數(shù)中判斷查找框中內(nèi)容是否為空,不空則發(fā)射一個信號Find,該信號連接到槽函數(shù)SearchSlot(),該函數(shù)從QListView控件中搜索匹配的字符串,并將查找到的信息高亮顯示。添加和修改記錄:添加或修改記錄是將提交的信息存入結(jié)構(gòu)體,然后更新QListView控件。刪除記錄:直接從QListView控件中刪除結(jié)點(diǎn)。刪除時候通過判斷結(jié)點(diǎn)的父結(jié)點(diǎn)來確定是刪除一條記錄還是刪除記錄的一部分,部分代碼:pQLVI_CurrentItem = mpQLV_PhoneListcurrentItem()。pQLVI_ParentItem = pQLVI_CurrentItemparent()。if (pQLVI_ParentItem != NULL) {pQLVI_CurrentItemsetText(0, )。}else {mpQLV_PhoneListtakeItem(pQLVI_CurrentItem)。}分組功能,可以新建和編輯記錄的所在組信息,可以按組查看記錄,實(shí)現(xiàn)改功能主要是在顯示的時候新建一個QListView控件,把組提取出來作為記錄的父結(jié)點(diǎn)。保存功能,保存功能實(shí)際上是QListView控件本身就有的功能,添加刪除記錄后QListView會自動更新,只不過在退出的時候需要把QListView控件的信息保存到配置文件中。(五) 播放器實(shí)現(xiàn)思路1. 整體思路整體思路是借用開源播放器mplayer的slave模式來實(shí)現(xiàn),所謂的slave模式,就是mplayer在運(yùn)行過程中能夠接收用戶的輸入命令行,具體支持哪些命令行,能夠通過mplayer input cmdlist這條命令來得到。linux能夠采用管道的方式把一個進(jìn)程的輸出做為另外一個進(jìn)程的輸入來使用。簡單的講就是程序A能夠從命令行調(diào)用程序B,假如程序B能夠在運(yùn)行過程中支持參數(shù)的話,那么程序A就能夠在程序B運(yùn)行過程中,向B通過管道發(fā)送新的指令。mplayer恰好就屬于程序B這種類型的軟件。Qt提供的QProcess類已經(jīng)將管道通信的一些細(xì)節(jié)應(yīng)藏,這樣問題簡化為只需要在GUI中通過QProcess建立和mplayer的通信,并完成參數(shù)的傳遞,通過設(shè)置QProcess的標(biāo)準(zhǔn)輸入輸出實(shí)際上已經(jīng)建立了和mplayer的通信管道。另:瀏覽器模塊也是采用QProcess在主界面里面調(diào)用的,方法與上面基本類似。2. 列表管理功能的實(shí)現(xiàn)列表管理分所有歌曲列表和用戶自定義歌曲列表,開始設(shè)計(jì)的時候是建立了一個配置文件,里面包含了上次播放的最后一首歌曲以及所有歌曲信息,通過一個標(biāo)志位來表示改歌曲是否在自定義列表中,后來遇到一個問題就是在用戶添加刪除歌曲文件的時候,一個配置文件不好維護(hù),于是將保存上次播放最后一首歌曲信息保存到一個單獨(dú)的配置文件中,另外一個配置文件保存自定義歌曲信息,系統(tǒng)初始化的時候會從歌曲目錄中讀取所有歌曲信息并檢測配置文件中的信息是否正確,即判斷是否有文件刪除,如果信息不正確會更新配置文件,確保上次保存的信息不丟失。3. 循環(huán)模式的實(shí)現(xiàn)mplayer本身提供了循環(huán)模式的一些參數(shù),但是必須依賴于一個列表,也就是必須事先確定要播放的所有文件,考慮到實(shí)現(xiàn)起來更加靈活,所以模式控制這一塊都是自己實(shí)現(xiàn)的,模式控制的前提是保證無間斷播放,只要不退出播放器,在播放完一首歌曲后會自動去找下一首,而找下一首歌的時候是通過模式來控制的,找下一首的過程很簡單在事先定義的歌曲鏈表里面找,這樣做還有一個好處就是模式與列表無關(guān),即不論所有歌曲列表還是自定義列表都可以有這些模式,只需在查找的時候賦給不同的鏈表頭就可以了。4. 自動播放功能的實(shí)現(xiàn)mplayer進(jìn)程結(jié)束的時候會發(fā)出一個信號,在這個信號對應(yīng)的槽里面再啟動它就可以了,不過必須通過一個標(biāo)志位來判斷進(jìn)程是否可以再啟動,這個標(biāo)志位就是播放器是否退出的標(biāo)志,否則會出現(xiàn)退出的時候進(jìn)程”關(guān)不掉”的情況。5. 歌詞顯示功能的實(shí)現(xiàn)基本原理是在歌詞文件里面提取出歌詞和時間并顯示在界面上,建立一個鏈表,在提取歌詞時保存每句歌詞的時間和內(nèi)容,歌詞提取基本沒什么問題,關(guān)鍵問題是顯示的效果,最開始的實(shí)現(xiàn)是用“跳動“的label來顯示歌詞,這樣雖然很實(shí)時,但是效果比較生硬,后來通過將所有歌詞顯示在一個自定義label上,在慢慢移動顯示區(qū)域,這樣做效果好多了但是顯示的不是那么實(shí)時了,主要是顯示的時候不是一句一句的顯示。(六) 瀏覽器實(shí)現(xiàn)思路1. 搜尋開源瀏覽器內(nèi)核搜索過Google Chrome、Apple Safari、Mozilla Firefox及KonquerorEmbedded等等瀏覽器。由于KonquerorEmbedded(以下簡稱Konqembed)基于QT開發(fā)庫,使用GPL協(xié)議發(fā)布并提供良好的網(wǎng)頁瀏覽支持,因故選擇了它做瀏覽器模塊的內(nèi)核。2. 自己編寫界面總共編寫了兩個個界面:開始頁面和網(wǎng)頁瀏覽頁面,前者完全由自己編寫,主要提供網(wǎng)址輸入、關(guān)鍵字搜索以及快捷書簽列表功能;后者的網(wǎng)頁顯示區(qū)域是采用的Konqembed的原有控件,下方的控制按鈕和彈出菜單都是我自己定義的,主要用來顯示和操控網(wǎng)頁鏈接。開始頁面主要在BroMainForm類中,里面有三個控件的定義,分別是QLineEdit、QComboBox和QListBox控件,分別可以輸入網(wǎng)址、搜索關(guān)鍵字和打開書簽網(wǎng)頁。網(wǎng)頁瀏覽頁面主要在MainWindowBase類中,對網(wǎng)頁視圖鏈接的切換按鍵定義,我是采用的模擬按鍵的方法,如用光標(biāo)上鍵模擬Tab按鍵,其余類似。3. 編寫代碼縫合內(nèi)核與界面(1) 開始頁面的縫合在MainWindowBase類中,添加一個BroMainForm的指針成員變量,然后在構(gòu)造函數(shù)中實(shí)例化它,當(dāng)瀏覽器開始運(yùn)行后就讓開始頁面顯示(采用show()函數(shù)),并且把鼠標(biāo)、鍵盤的控制焦點(diǎn)轉(zhuǎn)移給它,于是進(jìn)入到它的事件循環(huán)當(dāng)中。(2) 網(wǎng)頁瀏覽頁面的縫合網(wǎng)頁顯示視圖下面的兩個控制按鈕采用的是QToolButton,它們是MainWindowBase類中的兩個指針成員變量的實(shí)例化結(jié)果,用以響應(yīng)鼠標(biāo)點(diǎn)擊及按鍵事件;此時點(diǎn)擊Option按鈕顯示出來的 [Web List] 子菜單中的內(nèi)容則是通過讀取瀏覽器當(dāng)前的歷史記錄,然后一一在子菜單中顯示。4. 界面響應(yīng)定義(1) 開始頁面響應(yīng)對相關(guān)鼠標(biāo)、按鍵功能的函數(shù)重寫。鼠標(biāo)事件基本是用QT默認(rèn)的,而對于按鍵的定義,主要是在三個控件中安裝了Event Filter事件過濾器并加以重寫。(2) 頁面瀏覽響應(yīng)當(dāng)進(jìn)入網(wǎng)頁瀏覽頁面后,控制焦點(diǎn)卻沒有被轉(zhuǎn)移(默認(rèn)情況下的Bug),必須得在當(dāng)前網(wǎng)頁視圖中單擊一下鼠標(biāo),使其獲得焦點(diǎn);在其獲得焦點(diǎn)后,就可以用鍵盤進(jìn)行操作了;當(dāng)用戶在網(wǎng)頁顯示視圖中進(jìn)行鼠標(biāo)操作時,都是使用的Konqembed的默認(rèn)功能,若使用按鍵事件則是使用我寫的事件響應(yīng)函數(shù),對每種操作如上下光標(biāo)鍵、功能鍵、確認(rèn)鍵及退出鍵進(jìn)行相關(guān)響應(yīng),其主要實(shí)現(xiàn)方法是模擬按鍵事件。5. 主題切換與國際化(1) 主題切換由于瀏覽器是一個單獨(dú)的執(zhí)行文件,所以主題切換和國際化都得自己去做。主題切換是從命令行獲取主界面?zhèn)魅氲膮?shù),其中包括redyellow(blue風(fēng)格為默認(rèn)),然后在main函數(shù)中進(jìn)行相應(yīng)的解析并加載相應(yīng)的樣式風(fēng)格圖片。(2) 國際化、(中文翻譯文件)、(日文翻譯文件),英文作為默認(rèn)語言),最后在main函數(shù)的命令行解析塊處使用QTranslator類進(jìn)行翻譯文件的加載與顯示工作。6. 多窗口列表顯示調(diào)用View、BrowserView類中的HistoryEntry結(jié)構(gòu)體的相關(guān)操作函數(shù),包括createHistoryEntry、updateHistoryEntry、goBack、goForward、canGoBack及canGoForwa rd等等。將選中的窗口顯示出來則是調(diào)用了MainWindowBase類中的setActiveView函數(shù)。(七) 電子相冊實(shí)現(xiàn)思路用戶進(jìn)入電子相冊模塊后,電子相冊通過QImage類的load函數(shù)來加載圖片到一個QImage類型的變量中。用戶有操作動作后,將根據(jù)用戶的操作來改變顯示圖片參數(shù),然后調(diào)用Scale函數(shù)和repaint函數(shù)來顯示圖片。主要功能實(shí)現(xiàn)如下:向左旋轉(zhuǎn)操作:將旋轉(zhuǎn)角度參數(shù)mi_Angle做如下變化mi_Angle = (mi_Angle 90) % 360。向右旋轉(zhuǎn)操作:將旋轉(zhuǎn)角度參數(shù)mi_Angle做如下變化mi_Angle = (mi_Angle + 90) % 360??s放操作:根據(jù)操作改變mi_ChangeSize的值;全屏模式和返回普通模式操作:改變相框大小參數(shù);圖片顯示過程流程圖(主要包含Scale()函數(shù)流程):圖43電子相冊流程圖 參考文獻(xiàn)[1] QT參考文檔 網(wǎng)址:[2] 《Linux窗口程序設(shè)計(jì)—QT4精彩實(shí)例分析》 成潔 盧紫毅著 清華大學(xué)出版社[3] 《Rad Hat Linux 9實(shí)用教程》 方建超著 中國鐵道出版社[4] 《C++程序設(shè)計(jì)》譚浩強(qiáng)著 清華大學(xué)出版社 注 釋1. Qt是Trolltech 公司的一個產(chǎn)品,是一個多平臺的C++圖形用戶界面應(yīng)用程序框架。2. Qt Designer: 開發(fā)qt/x11程序的圖形工具,能完成界面的編輯,也可以開發(fā)qt/embedded的程序。3. 以Q開頭的類皆為QT中的類。4. mplayer 是一個LINUX下的電影播放器, 它能使用本地的, XAnim, Win32 DLL的編解碼器播放絕大部分的MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, OGG/OGM, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM 和RoQ 文 件. 你還能觀看VideoCD,SVCD, DVD, 3ivx, DivX 3/4/5甚至WMV電影(不需要使用avifile庫)。 附 錄(一) Qt/X11的編譯安裝簡介1. 準(zhǔn)備階段準(zhǔn)備編譯環(huán)境:1.操作系統(tǒng):RedHat Linux 92.編譯器:3.Qt庫版本:2. 安裝1.,將解壓后的默認(rèn)目錄改為qt2.執(zhí)行Configure命令并設(shè)置環(huán)境變量Configure時可以加入相關(guān)參數(shù) 如需GIF支持加入?yún)?shù) qtgif,可以通過 ./configure help來查看需要加入的參數(shù),在profile文件中添加如下設(shè)置: 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。1. 準(zhǔn)備階段編譯環(huán)境準(zhǔn)備1.操作系統(tǒng):RedHat Linux Release 92.編譯器:3.源碼包:2. 安裝1.,將解壓后的默認(rèn)目錄改為mplayer2.執(zhí)行Configure命令并設(shè)置環(huán)境變量Configure時可以加入相關(guān)參數(shù),可以通過 ./configure help來查看需要加入的參數(shù)3.make以及make install 畢業(yè)設(shè)計(jì)(論文)開題報(bào)告論文題目: 基于QT的嵌入式終端界面開發(fā) 學(xué)生姓名: 學(xué) 號:專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)教師: 年 2 月 23 日 畢 業(yè) 論 文 開 題 報(bào) 告1.本課題的研究意義嵌入式系統(tǒng)是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。開發(fā)對象有手機(jī)、掌上電腦、機(jī)電系統(tǒng)等。目前,嵌入式系統(tǒng)的應(yīng)用已經(jīng)滲透到我們生活中的每個角落,工業(yè)、服務(wù)業(yè)、消費(fèi)電子等領(lǐng)域廣泛使用嵌入式系統(tǒng)生產(chǎn)的產(chǎn)品。進(jìn)行嵌入式開發(fā)具有良好的應(yīng)用前景,從20世紀(jì)70年代出現(xiàn)的單片機(jī)到今天各式各樣的微處理器,微控制器的應(yīng)用,嵌入式系統(tǒng)已有30多年的發(fā)展歷史。而它的應(yīng)用已經(jīng)發(fā)展到人們生活的方方面面,小到MP3,大到航空航天,都越來越倚重嵌入式的應(yīng)用。進(jìn)入21世紀(jì),嵌入式的應(yīng)用主要是各種嵌入式應(yīng)用軟件的開發(fā),雖然嵌入式系統(tǒng)是一種軟硬件結(jié)合的系統(tǒng),但隨著應(yīng)用的升級以及復(fù)雜化,嵌入式軟件開發(fā)所占的分量越來越大。嵌入式產(chǎn)品由原來的功能單一、界面簡單的風(fēng)格逐漸向多功能、界面美觀、交互性好的方向發(fā)展。越來越多的嵌入式系統(tǒng),包括高端手機(jī)、PDA、智能家電、車載導(dǎo)航等系統(tǒng)都要求提供全功能的Web瀏覽器以及娛樂等各種功能,顯然,如果沒有一個高性能的GUI支持,這些功能都是無法實(shí)現(xiàn)的。一個完整的嵌入式系統(tǒng)由4個部分組成:底層的硬件系統(tǒng),嵌入式操作系統(tǒng),應(yīng)用系統(tǒng)以及各種應(yīng)用軟件。本課題研究的方向是在應(yīng)用系統(tǒng)的基礎(chǔ)上進(jìn)行應(yīng)用軟件的開發(fā)。操作系統(tǒng)選用linux,應(yīng)用系統(tǒng)采用QT/X11提供圖形支持。本課題
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1