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

正文內(nèi)容

基于qt的多功能日歷設計與開發(fā)畢業(yè)設計(doc畢業(yè)設計論文)(編輯修改稿)

2024-07-24 18:27 本頁面
 

【文章內(nèi)容簡介】 rtline 和setpalette 的系統(tǒng)之上。在底層函數(shù)的支持之下,上層實現(xiàn)了位圖,字體,光標以及顏色的支持。系統(tǒng)使用了優(yōu)化的繪制函數(shù),這樣當用戶在移動窗口時可以提供更好的響應。內(nèi)存圖形繪制和移動的實現(xiàn)使得屏幕畫圖顯得很平滑,這點特別在顯示動畫、多邊形繪制、任意區(qū)域填充、剪切時有用。 Microwindows 支持新的Linux 內(nèi)核幀緩存(FrameBuffer)結構,目前提供每像素 124 和32 位的支持,另外還支持彩色顯示和灰度顯示,其中彩色顯示包括真彩色(每像素116 和32 位)和調(diào)色板(每像素1, 2, 4 和 8 位)兩種模式。在彩色顯示模式下,所有的顏色用RGB 格式給出,系統(tǒng)再將它轉換成與之最相似的可顯示顏色,而在單色模式下中則是轉換成不同的灰度級。Microwindows支持窗口覆蓋和子窗口概念、完全的窗口和客戶區(qū)剪切、比例和固定字體,還提供了字體和位圖文件處理工具。 Microwindows 采用分層設計方法。在最底層,屏幕,鼠標/觸摸屏以及鍵盤驅動程序提供了對物理設備訪問的能力。在中間層,實現(xiàn)了一個可移植的圖形引擎,支持行繪制,區(qū)域填充,剪切以及顏色模型等。在上層,實現(xiàn)多種API 以適應不同的應用環(huán)境。但由于缺乏核心的維護人員,Microwindows也存在一些問題,代碼質量不是很好,存在一些bug。 Qt/Embedded概述Qt/Embedded是基于Qt的嵌入式GUI和應用程序開發(fā)的工具包,它可運行多種嵌入式設備上,主要運行在嵌入式Linux系統(tǒng)上,并且需要C++編譯器的支持,并為嵌入式應用程序提供Qt的標準API。Qt/Embedded 的API是基于面向對象技術的。在應用程序開發(fā)上使用與Qt相同的工具包,只需在目標嵌入式平臺上重新編譯即可。使用所熟悉的桌面開發(fā)工具,來編寫和保存一個嵌入式應用程序的源代碼樹,在移植到多種嵌入式平臺時,只需要重新編譯代碼。Qt/Embedded提供自身的輕量級窗口系統(tǒng),比使用Xlib和X Window更加緊湊; Qt/Embedded 的設計原則是不依賴于X server或者Xlib,而是直接訪問幀緩存,同其他解決方案如Qt/X11相比這樣做最顯著的效果是減少了內(nèi)存消耗。只需要一個Qt/Embedded動態(tài)鏈接庫就足以替代X server、Xlib庫和其他嵌入式解決方案的圖形工具包。Qt/Embedded還可以在編譯時去掉運行時所不需的特性,以減少內(nèi)存的占用。Qt/Embedded動態(tài)鏈接庫可以通過編譯時去掉用不到的特性來減少在內(nèi)存中的覆蓋。通過設置src/tools/,定制用戶所需的原有Qt功能的一個子集。這樣就可以在嵌入式系統(tǒng)中減小Qt/Embedded的尺寸,減少應用程序的內(nèi)存消耗;而且嵌入式系統(tǒng)中的應用程序集合總是相對固定的也是運用這一功能的重要原因。實現(xiàn)這一定制。例如:QlistView窗口部件若要在編譯時去掉。若一些特性是依賴于其他特性的,依賴關系是在文件src/tools/。Qt/Embedded提供了超過200種可以設置的特性,通過選擇鏈接,可以生成700KB到5000KB(Intel X86)之間大小的動態(tài)鏈接庫。大部分用戶使用的設置在1500KB到4000KB之間。而且QtE的應用程序也比其他工具開發(fā)的應用程序所占用的內(nèi)存少。在系統(tǒng)中許多CUP時間和內(nèi)存空間是被ELF(excutive linked file一種為Linux系統(tǒng)所采用的通用文件格式,支持動態(tài)連接)鏈接過程占用了。若使用靜態(tài)鏈接技術就可以極大的減少資源的消耗。若運行時所需的應用程序和組件在編譯前就可以確定下來,則把所有的應用程序編譯鏈接成唯一的可執(zhí)行文件,并靜態(tài)鏈接于一個靜態(tài)鏈接庫()的方法比使用動態(tài)鏈接庫()和一組鏈接于這個庫的可執(zhí)行文件更能減少資源消耗。這種方式減少了應用程序開始運行時的代價,提高了內(nèi)存的利用率,所付出的代價就是降低了程序的靈活性(若添加新的應用程序,需要編譯鏈接所有程序)和健壯性(如果其中一個應用程序又bug,很有可能會影響到其他的應用程序)。但這種方法對CPU和內(nèi)存使用要求比較高的設備是非常有利的。若要編譯Qt為靜態(tài)鏈接庫,把static選項添加到設置中。若在編譯時Qt所使用的應用程序和組件并不能完全確定,可以把一些Qt組件編譯成動態(tài)鏈接庫文件或者插件。客戶定義外觀組件,數(shù)據(jù)庫引擎,字體格式閱讀器,圖片格式轉換,文本編解碼及窗口部件都能夠被編譯為插件,以減少核心動態(tài)鏈接庫的尺寸,提供更多的靈活性。Qt/Embedded的類庫完全采用C++封裝,控件資源豐富,可移植性較好,開放的源碼使得開發(fā)人員可以在 GPL許可協(xié)議下自由地進行嵌入式GUI應用程序的移植與開發(fā)。Qt/Embedded移植與開發(fā)總體流程如圖31所示。嵌入式硬件平臺的確定PC上搭建Qt/Embedded開發(fā)環(huán)境交叉編譯Qt/Embedded庫并進行目標板的移植PC上進行QTE應用程序的開發(fā)交叉編譯應用程序在目標平臺上進行調(diào)試N程序運行正常Y發(fā)布應用程序圖31 Qt/Embedded移植與開發(fā)總體流程 三種GUI優(yōu)缺點分析下面以表31形式總結以上說敘述的三種圖形用戶界面GUI的優(yōu)缺點:表 3 1 三種GUI優(yōu)缺點分析圖形用戶界面優(yōu)點缺點MiniGUI(1)輕量級的圖形用戶界面支持(2)系統(tǒng)圖形抽象層(3)多字體和多字符集支持(4)兩個不同架構的版本Minithread和Minilite(1)控件功能不夠豐富(2)C代碼,擴展不利Microwindows(1)開源項目(1)典型的基于C/S體系結構(3)最底層是面向圖形輸出和鍵盤、鼠標或觸摸屏的驅動程序,中間層提供底層硬件抽象接口(1)無任何硬件加速能力(2)圖形引擎中存在許多低效算法,同時未經(jīng)任何優(yōu)化(3)代碼質量差Qt/Embedded(1) 隨意設置程序界面的外觀(2) 非常容易的根據(jù)硬件特性定制(3) 有針對手機的Qtopia應用套件(4) 商用客戶較多(5) 當移植Qt/Embedded程序到不同平臺時,只需要重新編譯代碼,而不需要對代碼進行修改(6) 程序本地化很容易(7) 程序與Java集成很容易(1) 代碼量過大,最好用于flash大的智能手機(2) 結構過于復雜,很難進行底層太多的擴充(3) 商用需要一定的授權費用綜上對比,不難看出,Qt/Embedded是一個專門為小型設備提供圖形用戶界面的應用框架和窗口系統(tǒng)。Qt/Embedded是高端嵌入式設備PDA及手機的主流開發(fā)工具。作為一項成熟的技術,KDE桌面系統(tǒng)對于嵌入式窗口系統(tǒng)的設計有很大參考價值,Qtopia給嵌入式窗口系統(tǒng)提供了很好的框架,提供了豐富的窗口小部件(widgets),并且還支持窗口部件的定制,因此它可以為用戶提供漂亮的圖形界面。Qt是KDE等項目使用GUI支持庫,所以有許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded版本上。 Qt/Embedded介紹Qt/Embedded是Trolltech公司開發(fā)的面向嵌入式系統(tǒng)的Qt版本,Qt是KDE等項目使用的GUI支持庫,許多基于Qt的X Window程序可以非常方便地移植到Qt/Embedded上。Qt/Embedded是Server/Client(客戶端/服務器)結構,在底層摒棄了X lib,僅采用frame buffer作為底層圖形接口,它是為高端嵌入式圖形領域的應用而設計的。同時將外部輸入設備抽象為keyboard和mouse輸入事件,底層接口支持鍵盤、鼠標、觸摸屏,以及用戶自定義的設備。 應用程序的運行方式Qt/Embedded的窗口系統(tǒng)由多個程序組成,其中一個作為主窗口程序,用來分配子窗口的顯示區(qū)域,并產(chǎn)生鼠標和鍵盤事件。主窗口程序提供輸入方式和啟動子應用程序的用戶界面。主窗口程序處理行為類似于子窗口程序,但有一些特殊。在命令行方式中鍵入qws選項,任何應用程序都可以運行為主窗口程序。子窗口程序通過共享內(nèi)存方式于主窗口程序進行通訊。通訊保持在一種很低的水平,子窗口程序可以不通過主窗口程序,而把所有繪制窗口的操作直接寫到幀緩存,包括自身的標題欄和其他部件。所有這些都是由Qt/Embedded鏈接庫自動完成,對開發(fā)者來說是完全透明的。子窗口程序使用QCOP通道于主程序交換信息。主程序只需簡單的向QCOP廣播信息,所有正在監(jiān)聽特定信道的應用程序就會收到。應用程序可以通過與received()信號相連的槽作出響應。QProcess類提供了另外一種同步進程間通訊方式,通過直接寫外部程序的標準輸入、讀標準輸出和標準錯誤信息。 開發(fā)環(huán)境及工具Qt/Embedded的窗口系統(tǒng)由多個程序組成,其中一個作為主窗口程序,用來分配子窗口的顯示區(qū)域,并產(chǎn)生鼠標和鍵盤事件。主窗口程序提供輸入方式和啟動子應用程序的用戶界面。主窗口程序處理行為類似于子窗口程序,但有一些特殊。在命令行方式中鍵入qws選項,任何應用程序都可以運行為主窗口程序。子窗口程序通過共享內(nèi)存方式于主窗口程序進行通訊。通訊保持在一種很低的水平,子窗口程序可以不通過主窗口程序,而把所有繪制窗口的操作直接寫到幀緩存,包括自身的標題欄和其他部件。所有這些都是由Qt/Embedded鏈接庫自動完成,對開發(fā)者來說是完全透明的。子窗口程序使用QCOP通道于主程序交換信息。主程序只需簡單的向QCOP廣播信息,所有正在監(jiān)聽特定信道的應用程序就會收到。應用程序可以通過與received()信號相連的槽作出響應。QProcess類提供了另外一種同步進程間通訊方式,通過直接寫外部程序的標準輸入、讀標準輸出和標準錯誤信息。 工作模式分析Qt/Embedded的窗口系統(tǒng)具有自己的一種客戶端/服務器體系結構,其窗口系統(tǒng)體系結構如下圖31所示,在一個典型的Qt/Embedded窗口系統(tǒng)中一般包括一個或多個客戶端進程,一個服務器進程,然而Qt/Embedded的客戶/服務器模型與一般泛指的客戶/服務器模型概念又不完全一樣,在Qt/Embedded中,客戶端和服務器都是Qt/Embedded應用程序,并不是位于不同機器上的應用程序,服務器和客戶端不是獨立分別運行在不同的機器上的,而和客戶端應用程序在同一機器上運行。在Qt/Embedded中,QWSServer類主要完成服務器的構建,QWSDisplay則主要完成客戶端的構建。在系統(tǒng)中有Qt/Embedded 應用程序運行時,客戶端進程可以有多個,但服務器進程卻只能有一個。在Qt/Embedded應用程序中只有一個用于服務器,一般是第1個啟動的Qt/Embedded應用程序,這個應用程序除了具有一般應用于Qt/Embedded應用程序的客戶端外,還具有服務器的功能。提供GUI服務客戶進程Qt/Embedded庫服務器進程顯示存儲設備/framebuffer鼠標設備鍵盤設備圖3 1 Qt/Embedded窗口系統(tǒng)體系結構Qt/Embedded的窗口系統(tǒng)具有自己的一種客戶端/服務器體系結構,其窗口系統(tǒng)體系結構如下圖34所示,在一個典型的Qt/Embedded窗口系統(tǒng)中一般包括一個或多個客戶端進程,一個服務器進程,然而Qt/Embedded的客戶/服務器模型與一般泛指的客戶/服務器模型概念又不完全一樣,在Qt/Embedded中,客戶端和服務器都是Qt/Embedded應用程序,并不是位于不同機器上的應用程序,服務器和客戶端不是獨立分別運行在不同的機器上的,而和客戶端應用程序在同一機器上運行。在Qt/Embedded中,QWSServer類主要完成服務器的構建,QWSDisplay則主要完成客戶端的構建。在系統(tǒng)中有Qt/Embedded 應用程序運行時,客戶端進程可以有多個,但服務器進程卻只能有一個。在Qt/Embedded應用程序中只有一個用于服務器,一般是第1個啟動的Qt/Embedded應用程序,這個應用程序除了具有一般應用于Qt/Embedded應用程序的客戶端外,還具有服務器的功能[7][8]。4 GUI軟硬件開發(fā)環(huán)境介紹本章主要介紹基于S3C2440的圖形界面設計所使用到的軟件和硬件平臺,包括虛擬機軟件Vmware,Qt Creator設計軟件以及mini2440開發(fā)板、處理器S3C2440等。硬實時系統(tǒng)有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤,超時錯誤會帶來損害甚至導致系統(tǒng)失敗,或者導致系統(tǒng)不能實現(xiàn)它的預期目標。軟實時系統(tǒng)的時限是柔性靈活的,它可以容忍偶然的超時錯誤,失敗造成的后果并不嚴重,僅僅是輕微地降低了系統(tǒng)的吞吐量。 操作系統(tǒng)的選擇與安裝為了在用于開發(fā)的PC主機上得到Linux的開發(fā)環(huán)境,我們選擇在Windows操作系統(tǒng)巾安裝VMware虛擬機軟件,再在其中安裝我們需要的Linux操作系統(tǒng)。使用虛擬機的一大好處是,當在Linux因為不熟悉而遇到問題的時候,可以很容易的回到Windows中尋求解決方案,避免了在雙系統(tǒng)中來回重啟切換的麻煩。虛擬機的版本盡量選擇當前的最新版,因為Linux系統(tǒng)的發(fā)展迅速,如果安裝在舊版的虛擬機當中,不能保證有很好的
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1