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

正文內(nèi)容

計(jì)算機(jī)畢業(yè)論文基于qt的嵌入式網(wǎng)絡(luò)瀏覽器設(shè)計(jì)-資料下載頁(yè)

2024-11-08 01:01本頁(yè)面

【導(dǎo)讀】PDA、小型廣告機(jī)等。其擁有體積小、耗能低、功能能基本滿足需要等特點(diǎn)。行比較,給出了設(shè)計(jì)嵌入式瀏覽器的一些方案。給出了每個(gè)程序模塊的設(shè)計(jì)思想和主要算法。本文的主要內(nèi)容涉及Qt語(yǔ)法的分析,瀏覽器各部分功能模塊的分析實(shí)現(xiàn),在文中給出了程序各模塊的測(cè)試結(jié)果。并且照本瀏覽器的特性與主流瀏覽。器的相應(yīng)功能進(jìn)行對(duì)比。

  

【正文】 體 的屬性,遇到什么標(biāo)記,直接設(shè)置字體屬性,遇到帶 /的標(biāo)記,解除設(shè)置過(guò)的屬性即可,這樣既沒(méi)有容錯(cuò)方面的問(wèn)題,又不需要用很復(fù)雜的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)。本函數(shù)在外部另開(kāi)了 fontanalysis 和 coloranalysis 來(lái)完成。 吉林大學(xué)學(xué)士學(xué)位論文 20 font比較特殊,擁有多種參數(shù),例如 size 和 color, size 先用 case 語(yǔ)句把17 號(hào)與相應(yīng)的字號(hào)大小對(duì)應(yīng)起來(lái),再把比 7 大的號(hào)碼直接賦給相應(yīng)的字號(hào)。color 只需要發(fā)一個(gè)顏色參數(shù)給 coloranalysis 函數(shù)等待返回以后設(shè)置即可。 s是 strike 字形的簡(jiǎn)寫(xiě),就是把當(dāng)前的字用一 條橫線劃除。 i是 Italic 字形的簡(jiǎn)寫(xiě),就是斜體。 u是 Underline 字形的簡(jiǎn)寫(xiě),就是下劃線。 b是 Bold 字形的簡(jiǎn)寫(xiě),就是粗體。 hn align=一種方式和 center一種方式,其用于輸出一個(gè)標(biāo)題。字體為黑體,字號(hào)為 n, align 為字輸出的位置。 這是解析的一段 Html 腳本: font size=5 color=0000FFbIt39。s sa /suwon/bderful i day!/i/u/font 解析結(jié)果如圖 36 圖 36 font的解析結(jié)果 (注意,由于 ARM 板上的 不支持斜體,無(wú)法顯示出斜體) 分析一下這個(gè)腳本解析的幾個(gè)標(biāo)記: 首先是設(shè)置字體 size=5,這個(gè)是按 html 腳本語(yǔ)言的規(guī)定設(shè)置的,每個(gè) size指代一個(gè)具體的數(shù)值,這里不贅述。 color 顏色為藍(lán)色; b作用在 It39。s a won 這些字母,設(shè)置粗體; s作用在 a 上,設(shè)置刪除符號(hào); u作用在 wonderfulday上,設(shè)置下劃線; i作用在 day!上設(shè)置斜體。注意標(biāo)記都不是互相包含的。 hr:標(biāo)尺線解析 有 5 個(gè)參數(shù) size、 width、 align、 noshade 以及 color( Html 語(yǔ)言教程中說(shuō) color只有 IE 支持,然而經(jīng)測(cè)試 mozilla firefox 也支持標(biāo)尺顏色。)解析時(shí),將各參數(shù)用循環(huán)進(jìn)行分析,得到的參數(shù)分別用臨時(shí)變量表示,最后再用一段公用的畫(huà)標(biāo)尺語(yǔ)句輸出即可。從放大了的截圖中看,默認(rèn)的標(biāo)尺是由一根灰色線和一根略白的線緊靠而成,如果有 size 屬性且 size2,則為一條灰線( 0 也一樣), size2時(shí),由上、左兩條灰線,下、右兩條白線組成。如果設(shè)置了顏色或者設(shè)置了noshade,則不用分白、灰線,兩種線共用顏 色。標(biāo)尺的寬度有兩種,一種是以吉林大學(xué)學(xué)士學(xué)位論文 21 百分比形式畫(huà)出,另一種以實(shí)際寬度畫(huà)出。 如圖 37。 圖 37 hr的解析結(jié)果 顏色的解析,這個(gè)是對(duì)于一些瀏覽器擁有的預(yù)定義色彩,如 Black, Olive, Teal,Red, Blue, Maroon, Navy, Gray, Lime,Fuchsia, White, Green, Purple, Silver, Yellow, Aqua 寫(xiě)了一個(gè)分析這些特定字串的函數(shù) QColor defaultcolor(QString color),返回特定顏色,如果不符合,則范圍一個(gè)默認(rèn)顏色。 在此,本瀏覽器對(duì)文本輸出與圖片輸出等內(nèi)容已經(jīng)有了一個(gè)初步的框架,因此和 Windows 下 IE 以及 Linux 下的 Mozilla firefox 做個(gè)對(duì)比,主要對(duì)比當(dāng)前可實(shí)現(xiàn)功能的解析能力。測(cè)試時(shí)瀏覽器窗體大小為 480*360。 首先是 IE: 圖 38 IE 的標(biāo)題欄 圖 39 IE 的網(wǎng)頁(yè)解析結(jié)果 吉林大學(xué)學(xué)士學(xué)位論文 22 其次火狐: 圖 310 Mozilla 的標(biāo)題欄 圖 311 Mozilla 的網(wǎng)頁(yè)解析結(jié)果 再次本瀏覽器(名字暫定 為 webbrowser): 圖 312 webbrowser 的網(wǎng)頁(yè)解析結(jié)果 吉林大學(xué)學(xué)士學(xué)位論文 23 IE 的標(biāo)題欄與 webbrowser 的標(biāo)題欄都支持帶 符號(hào)的標(biāo)題,而 mozilla 會(huì)把只帶‘ ’的標(biāo)題另加上一個(gè)‘ ’,還會(huì)省略掉中間的標(biāo)題。 對(duì)于標(biāo)尺的支持,三個(gè)瀏覽器完全一致。 文本字體隨意變化,三個(gè)瀏覽器基本一致,只是 webbrowser 支持輸出不符合解析條件的 mand內(nèi)容,另兩種不支持。還有一點(diǎn),對(duì)于字體屬性的設(shè)置, webbrowser 并不需要 mand與 /mand配合使用,這個(gè)主要是在font的設(shè)置上體現(xiàn),如中間一段彩色文字,每段單詞前都有加上一個(gè) font color=來(lái)設(shè)置,但 webbrowser 只需一個(gè) /font就可以使其恢復(fù)為默認(rèn)顏色,而 IE 與火狐則只能恢復(fù)到最后一個(gè)青色的前一個(gè)顏色黃色。該方法各有利弊,如果寫(xiě)網(wǎng)頁(yè)者多次手動(dòng)設(shè)定不同顏色,則 webbrowser 比較方便,若只設(shè)定少數(shù)幾次顏色并且希望用“后退”的方式控制顏色,則 IE 與火狐比較方便。究其原因,則是有一個(gè)數(shù)據(jù)結(jié)構(gòu)專門(mén)存放顏色的設(shè)定,每次 /font退出一個(gè)設(shè)定。原本我是用堆棧方式解決,但后來(lái)發(fā)現(xiàn)并不一定是后進(jìn)先 出,因?yàn)樽煮w能夠嵌套使用(之前有描述),因此改為這種寫(xiě)法。 文字的對(duì)齊, IE 與火狐采用下對(duì)齊模式, webbrowser 采用上對(duì)齊,主要原因是 IE 與火狐是以行為單位輸出文本和圖片,寬度以最大的寬度為準(zhǔn),而webbrowser 以單個(gè)字符或單個(gè)圖片為單位,寬度也以最大寬度為準(zhǔn)。優(yōu)勢(shì)在于容易能獲得自動(dòng)圖文環(huán)繞的功能。 圖片的繪制, IE 的圖片邊框和字體初始顏色不是一樣的,這點(diǎn)和火狐、webbrowser 不同,從右邊的圖片邊框可以看出,火狐和 webbrowser 都是用默認(rèn)文本的顏色(紅色)為邊框,而 IE 則是有專用的默認(rèn) 邊框顏色(黑色)。同時(shí)可以看到, align=right 的圖片,在 IE 下有覆蓋掉下邊的文字的缺點(diǎn)。而webbrowser 則不會(huì)有此問(wèn)題。更換兩圖片中間的文本信息,如下圖 313。 圖 313 文本環(huán)繞圖片的效果 吉林大學(xué)學(xué)士學(xué)位論文 24 可見(jiàn) webbrowser 對(duì)圖文環(huán)繞的支持是有一定優(yōu)勢(shì)的。對(duì)于火狐來(lái)說(shuō),圖片不支持在旁邊顯示文本。超鏈圖片則是插入在普通文本之中,以圖片下邊為顯示光標(biāo)位置。因此可以看到“ jump here!”文字是顯示于右下角。還丟失了一大段文字。 圖片旁文本的顯示, IE 是可以在圖片旁輸出文本的,但是必須用 br控制文本的換行,而如果有大過(guò)窗口寬度的文本則自動(dòng)調(diào)整窗口大?。L動(dòng)條)。 超級(jí)鏈接,目前 webbrowser 已能支持在原窗口打開(kāi)超鏈接,本頁(yè)面間跳轉(zhuǎn),打開(kāi)新頁(yè)面后的跳轉(zhuǎn),這些已經(jīng)在上邊測(cè)試通過(guò)。 p:段落解析 可以認(rèn)為是文字布局,即文字居左、居中、居右。分析可知,其實(shí)并不需要把整段文字都設(shè)置布局,只需要設(shè)置最后一行文字的位置。 emitword()在自動(dòng)換行輸出整行信息的最后,有留出最后一行單獨(dú)輸出的特點(diǎn),正好利用這個(gè)特點(diǎn),在單獨(dú)輸出的行加上判斷語(yǔ)句,判斷使用的全局變量為 nexttext。就 可以讓最后一行在指定的位置輸出。 p有分兩種,一種是成對(duì)的,帶參數(shù) align 等和結(jié)束符 /p,另一種是單獨(dú)的只有一個(gè) p,因此可以照是否有參數(shù)來(lái)判斷是否要尋找結(jié)束符。 因?yàn)橛质菍?duì)兩個(gè)符號(hào)之間的文本進(jìn)行處理,因此不支持在文本中隨意更換字體。這與 a的處理是一樣的,只能更換少數(shù)的字體形式。 p只能另起一段,也就意味著連續(xù)用兩個(gè) p是無(wú)效果的,只相當(dāng)于一個(gè)p,這個(gè)功能的實(shí)現(xiàn)只需要判斷光標(biāo)位置是不是在本行的起始點(diǎn)即可。本函數(shù)在 htmlanalysis 以及 enter 等函數(shù)中完成。 li和 ul:列表解析 ul標(biāo)記是設(shè)定列表的類,例如寫(xiě)一次 ul則表示接下來(lái)的 li都為第一類列表,再寫(xiě)一次,則表示接下來(lái)的 li為上一類列表的子類,顯示時(shí)則體現(xiàn)為起始點(diǎn)在上一類列表的右邊。第一類、第二類、第三類列表的開(kāi)頭符號(hào)也有不同,分別為實(shí)心圓、空心圓和實(shí)心矩形。使用一個(gè)參數(shù) ul 來(lái)說(shuō)明是第幾子類,再由這個(gè)參數(shù)來(lái)決定起始位置和列表開(kāi)頭的符號(hào)。每段文字都另起一行開(kāi)始輸出。本函數(shù)在 htmlanalysis 內(nèi)完成。 以下網(wǎng)頁(yè) (如圖 314) 是選用 文網(wǎng)頁(yè)進(jìn)行測(cè)試。 吉林大學(xué)學(xué)士學(xué)位論文 25 圖 314 三級(jí)列表的測(cè)試 bgsound:背景音樂(lè)解析 我們利用 mpg123 來(lái)播放各種音樂(lè)。 mpg123 是一個(gè)很完善的音樂(lè)播放器,支持大多數(shù)格式的音樂(lè)。若使用 QT 自帶的聲音類則會(huì)有很多限制,例如只能播放 wav 等。 mpg123 并沒(méi)有圖形界面,利于設(shè)置在后臺(tái)播放。 定義一個(gè) QProcess 類 bgsound,定義一個(gè) int soundloop 指定重播次數(shù),定義一個(gè)槽 musicloop()。首先依舊是命令、參數(shù)分析,分析出資源名和重復(fù)次數(shù)以后,把資源名存進(jìn)已放入“ mpg123”作為命令的 bgsound 進(jìn)程中,把重復(fù)次數(shù)存入 soundloop 中,然后建立 processExited()信號(hào)與 musicloop()槽的連接。再寫(xiě)一個(gè)判斷音樂(lè)循環(huán)的程序,在 soundloop大于 1時(shí),重復(fù)播放且把 soundloop1,如果 soundloop 小于 1,則切斷 processExited()信號(hào)與 musicloop()槽的連接。在所有與窗口變動(dòng)有關(guān)的函數(shù)上加上 kill()指令,把當(dāng)前播放的音樂(lè)關(guān)閉。 注:由于前進(jìn)和后退并不重新分析網(wǎng)頁(yè),因而在這兩個(gè)功能運(yùn)行 之后進(jìn)入的網(wǎng)頁(yè)不會(huì)播放背景音樂(lè)(除非刷新)。本函數(shù)在 htmlanalysis 中完成。 視頻解析 鑒于 ARM 系統(tǒng)的局限性以及顯示器( 320x200 液晶)的大小,一個(gè)折中解決的辦法是:讀出頁(yè)面中所有的視頻,放在菜單欄中一個(gè)下拉菜單里,點(diǎn)擊相應(yīng)的 URL,就打開(kāi)相應(yīng)的視頻。 使用 Mplayer 來(lái)播放視頻, Mplayer 是一個(gè)開(kāi)源的視頻播放器,已經(jīng)成功移植到 ARM 平臺(tái)。但是因?yàn)?ARM 平臺(tái)的一些特性,不得解決以下幾個(gè)問(wèn)題。 問(wèn)題 1:視頻與 QProcess 的交互: 運(yùn)行程序比較容易實(shí)現(xiàn),但是要做到交互,則必須 了解 Mplayer 的相應(yīng)指令 [18]。比如對(duì) stdin 輸入“ p”即可暫停,但是問(wèn)題出在 Mplayer 比較早期的版吉林大學(xué)學(xué)士學(xué)位論文 26 本中沒(méi)有相應(yīng)的指令系統(tǒng),只能靠向 stdin輸入控制符,但是在 QT中沒(méi)法向 stdin中輸入除主鍵盤(pán)區(qū)字符以外的指令,因此許多功能無(wú)法使用。 問(wèn)題 2:視頻播放時(shí),主窗口的行為: 對(duì)于 Linux 平臺(tái)而言,主窗口做什么與視頻無(wú)關(guān),因?yàn)橐曨l開(kāi)出了個(gè)額外的窗口,在主窗口中做其他操作,除非影響了 QProcess 的屬性,否則就算關(guān)閉主窗口也不會(huì)對(duì)視頻有影響(為此前面把 qApp 的 aboutToQuit()和 QProcess 的kill()給鏈接了,關(guān)閉主窗口同時(shí)可關(guān)閉視頻)。而對(duì)于 ARM 平臺(tái)而言卻不是如此。首先, ARM 平臺(tái)的顯示是采用 fb0[13],并沒(méi)有一個(gè)像 Linux 下 X11 窗口那樣可以縮放,均是左上角對(duì)齊的一個(gè)矩形框(大小可通過(guò)命令 scale 調(diào)節(jié)),而此時(shí)如果點(diǎn)擊視頻,則會(huì)響應(yīng)視頻下方 QT 程序的相應(yīng)部分。就類似于在 Qt界面上方覆蓋了一個(gè)透明的窗體。而且,當(dāng)視頻結(jié)束或者強(qiáng)制退出時(shí),由于 fb0的緩沖區(qū)殘留圖像,液晶上會(huì)一直顯示著退出時(shí)的視頻圖像,當(dāng)點(diǎn)擊液晶時(shí)和之前所說(shuō)一樣可以響應(yīng) Qt 的相應(yīng)內(nèi)容,只是頁(yè)面會(huì)變的殘缺不全 。因此基于這些特殊問(wèn)題進(jìn)行了相應(yīng)的研究: 可以在運(yùn)行程序的時(shí)候保存當(dāng)前屏幕的緩沖圖像,在退出或點(diǎn)擊時(shí)用命令輸出保存的緩沖圖像。主要命令有 dd if=/dev/fb0 of=fbfile, 其中, if 指 inputfile,of 指 outputfile, fb0 是對(duì)應(yīng)的 framebuffer 設(shè)備, fbfile 是自己指定的一個(gè)文件名。此命令用于保存當(dāng)前窗口的緩沖。之后以 dd if=fbfile of=/dev/fb0 命令把 fbfile 里存放的緩沖圖像重新輸出到 fb0 中。經(jīng)實(shí)際測(cè)試,這個(gè)方法是可行的。能夠返回原來(lái) 的 Qt 界面。只需把這兩條語(yǔ)句定義成 QProcess(或 QStringList)就可以輕松調(diào)用。然而, fb 正在被操作的過(guò)程中(例如 Mplayer 正在播放或者暫停,只要沒(méi)退出就都在被操作)寫(xiě)這個(gè)指令時(shí)不會(huì)改變?nèi)魏维F(xiàn)象的。因此無(wú)法使用這個(gè)方法。 在視頻播放的時(shí)候,我們采用一種新的模式來(lái)響應(yīng)鼠標(biāo)點(diǎn)擊:首先把菜單欄隱藏,把窗口響應(yīng)鼠標(biāo)函數(shù)添加上在播放視頻時(shí)間的特殊情況響應(yīng),點(diǎn)擊鼠標(biāo)時(shí)暫停輸出(同大多數(shù)目前主流瀏覽器上視頻軟件相同),同時(shí)彈出一個(gè)控制菜單,類似大多數(shù)視頻軟件,擁有開(kāi)始、暫停、停止、調(diào)整時(shí)間的滑塊、聲音控制等基本功能。按下相應(yīng)的組件可對(duì)視頻進(jìn)行相應(yīng)的響應(yīng),例如快進(jìn)、聲音調(diào)整等。這些可以參照 Mplayer 的 stdin 來(lái)進(jìn)行設(shè)計(jì)。 在設(shè)計(jì)時(shí)間滑塊時(shí)遇到如何讀取視頻的時(shí)間長(zhǎng)度信息的問(wèn)題,在網(wǎng)絡(luò)文章 [5]中提到 Mplayer 有 get_time_pos 與 get_time_length 指令,但是經(jīng)過(guò)實(shí)際測(cè)吉林大學(xué)學(xué)士學(xué)位論文 27 試發(fā)現(xiàn)無(wú)效。又查找
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1