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

正文內(nèi)容

基于qt的圖像格式轉(zhuǎn)換器設計與實現(xiàn)本科畢業(yè)論文(編輯修改稿)

2024-07-24 18:56 本頁面
 

【文章內(nèi)容簡介】 就行了。面向組件的編程是用別人做好的代碼塊,拿過來直接用,所以編程優(yōu)勢比較明顯。QT 的類庫十分豐富,有幾千個不同的 API,也就是方法,只要你熟悉這些 API 的參數(shù)用法,就可以直接拿過來用,像連接數(shù)據(jù)庫,QT 已經(jīng)寫好常見的數(shù)據(jù)庫操作方法,使用時,不需要再編寫,只需要拿過來,直接用就好了。(3)把精力放在核心功能的實現(xiàn)上,而不是源碼本身。QT 使用了面向組件的編程機制,所利用 Qt 編程時,能解放出程序員的編碼工作量,所以,程序員把精力放在業(yè)務的實現(xiàn)就可以了。利用前人的源碼,直接實現(xiàn)自己要做的業(yè)務。使用 QT 編程確實大大提高工作效率,并且代碼質(zhì)量也很高,因為調(diào)用的方法大都很成熟,這就是編程的微妙之處。(4)能構(gòu)造出藝術(shù)級的界面,設計界面方便。QT 設計界面非常精巧,能用源碼直接描述,效率很高。在設計界面時,因為有了布局這個概念,設計界面時,大大提高了設計效率。不像 VS,寫個界面很死板。也許有人說,我可以用界面設計師呀!但不要忽略效率。北京郵電大學畢業(yè)設計72 QT 開發(fā)軟件的架構(gòu)和簡介 QT 的特點與組成Qt 是由一個強大的跨平臺開發(fā)架構(gòu)組成的,它提供了大量的容器類,實現(xiàn)了平臺無關(guān)性的一大特點。Qt 中有一個核心類庫,它是 QT 的核心,Qt 中所有的應用程序中用到的類都是由此繼承而來,這個核心類 QtCore。Qt 常用的一些類和方法(本次設計用到)QChar 表示的是一個字符的類,在核心 QtCore 之中。它中有很多常用到的方法,比如,QChar()。 // 構(gòu)造一個空字符,即39。\039。 QChar(char ch)。 // 由字符數(shù)據(jù) ch 構(gòu)造 QChar(uchar ch)。 // 由無符號字符數(shù)據(jù) ch 構(gòu)造 QChar(ushort code)。 // 由無符號短整形數(shù)據(jù) code 構(gòu)造,code 是 Unicode 編碼 QChar(short code)。 //由 短整形數(shù)據(jù) code 構(gòu)造, code 是 Unicode 編碼 QChar(uint code)。 // 由無符號整型數(shù)據(jù) code 構(gòu)造,code 是 Unicode 編碼 QChar(int code)。 // 由整型數(shù)據(jù) code 構(gòu)造,code 是 Unicode 編碼 實際使用時很少直接構(gòu)造 QChar 類的對象,而是把這些構(gòu)造函數(shù)當做類型轉(zhuǎn)換來用,讓編譯器自動構(gòu)造所需的 QChar 類對象。也就是說,在所有需要 QChar 類作為參數(shù)的地方都可以安全地使用各種整數(shù)類型。QChar 類提供了很多成員函數(shù),可以對字符的類型進行判斷,如:bool isDigit() const。 // 判斷是否是十進制數(shù)字( 39。039。 39。939。) bool isLetter() const。 // 判斷是否是字母 bool isNumber() const。 // 判斷是否是數(shù)字,包括正負號、小數(shù)點等 bool isLetterOrNumber()。 // 判斷是否是字母或數(shù)字 bool isLower() const。 // 判斷是否是小寫字母 bool isUpper() const。 // 判斷是否是大寫字母 QString 類提供了很多函數(shù)用于將字符串轉(zhuǎn)換為數(shù)值QString amp。setNum(int n, int base = 10)。 // 整型數(shù)QString amp。setNum(uint n, int base = 10)。 // 無符號整型數(shù)QString amp。setNum(long n, int base = 10)。 // 長整型QString amp。setNum(ulong n, int base = 10)。 // 無符號長整型數(shù)QString amp。setNum(short n, int base = 10)。 // 短整型數(shù)QString amp。setNum(ushort n, int base = 10)。 // 無符號短整型數(shù)QString amp。setNum(double n, char format = 39。g39。, int precision = 6)。 // 高精度浮點數(shù)QString amp。setNum(float n, char format = 39。g39。, int precision = 6)。 // 浮點數(shù)將浮點數(shù)轉(zhuǎn)換為字符串時,format 參數(shù)指定轉(zhuǎn)化格式,precision 參數(shù)指定轉(zhuǎn)換結(jié)果的精度,既有效數(shù)組的個數(shù)。注意這些函數(shù)會改變 QString 對象本身的值,而以下的函數(shù)則采用了不同的做法,它們返回一個新的臨時對象以供使用QPorint 代表一個坐標點,從屬于QtCore庫,可以認為是一個整型的橫坐標和一個整型的縱坐標的組合,常用的方法包括,構(gòu)造寬度為width,高度為height的QSize對象。北京郵電大學畢業(yè)設計8QPoint 類支持以下兩種構(gòu)造方式:QPoint()。 // 構(gòu)造橫縱坐標均為 0 的 QPoint 對象 QPoint(int x, int y)。 // 構(gòu)造橫縱坐標分別為 x 和 y 的 QPont 對象 QPoint()。 // 構(gòu)造橫縱坐標均為 0 的 QPoint 對象QPoint(int x, int y)。 // 構(gòu)造橫縱坐標分別為 x 和 y 的 QPont 對象通過以下成員函數(shù)可得到 QPoint 對象中的橫縱坐標的引用:int amp。rx()。 // 得到橫坐標的引用 int amp。ry()。 // 到到縱坐標的引用 int amp。rx()。 // 得到橫坐標的引用int amp。ry()。 // 到到縱坐標的引用 注意這些引用都不是只讀的,也就是說可以通過它們直接修改 QPoint。QSize(int width, int height)。QFont 代表字體,在QtGui庫中實現(xiàn),可以利用其中方法設置字體屬性。QPixmap 代表圖像, 也是在QtGui庫中實現(xiàn)。可以設置圖像參數(shù),加載和保存圖像。QPixmap: 代表圖像,實現(xiàn)在 QtGui 庫中構(gòu)造:QPixmap()。//構(gòu)造大小為 0 的空圖像QPixmap(const QSize amp。size)。//構(gòu)造大小為 size 的圖像,圖像數(shù)據(jù)未初始化QPixmap(int width, int height)。//等價于 QPixmap(QSize(width, height))。QPixmap(const QString amp。fileName, const char *format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor)。//從指定的文件中加載圖像并生成 QPixmap 對象//fileName:文件名 .. format:字符串,表示圖像文件的格式,如果為 0,將進行自動識別..flags:表示顏色的轉(zhuǎn)換模式圖像參數(shù):int depth() const。//顏色深度 ,即每像素所占的 byte(比特 )數(shù)int width() const。//圖像寬度 ,單位是像素int height() const。//圖像高度,單機是像素QSize size() const。//圖像的大小,即 QSize(width(), height())。QRect rect() const。//圖像的矩形區(qū)域,即 QRect(QPoint(0,0), size())。加載和保存圖像:bool load(const QString amp。fileName, const char *format = 0, QT:ImageConversionFlags flags = Qt::AutoColor)。//從文件中加載圖像,返回 true 表示加載成功,false 則表示加載失敗bool save(const QString amp。fileName, const char *format = 0, int quality = 1) const。//將圖像保存到文件, fileName:文件名. format:字符串,表示圖像文件的格式,如果為 0,自動確定. quality:表示圖像保存的質(zhì)量,質(zhì)量越低壓縮率越大,越不清晰,取值范圍為 0~100,1 表示采用默認值 .QIcon 代表圖標, 在實現(xiàn)QtGui庫中,是一系列圖像的組合,每個圖像代表窗口在某種狀態(tài)下應該顯示的圖標??梢詷?gòu)造和添加圖像構(gòu)造:QIcon()。//構(gòu)造一個空圖像構(gòu)成的圖標QIcon(const QPixmap amp。pixmap)。//從QPixmap對象構(gòu)造圖標,此時系統(tǒng)會自動產(chǎn)生窗口不同狀態(tài)下對應的圖像,比如窗口在禁用狀態(tài)下其圖標為灰色北京郵電大學畢業(yè)設計9QIcon(const QString amp。fileName)。//從圖像文件構(gòu)造圖標,此時,文件并不是立刻加載,而是當圖標要顯示時才加載添加圖像:void addFile(const amp。fileName, const QSize amp。size = QSize(), Mode mode = Normal, State state = Off)。//fileName:文件名 size:指定大小mode:指定使用模式,即窗口在何種狀態(tài)下使用這個圖像state:指定使用狀態(tài)//Mode為QIcon類的成員類型,有以下取值. QIcon::Normal:窗口為使能狀態(tài),但未激活 QIcon::Disabled:窗口為禁用狀態(tài) QIcon::Active:窗口為激活狀態(tài) QIcon::Selected:窗口被選中//QIcon::Off:窗口在關(guān)狀態(tài) QIcon::On:窗口在開狀態(tài)QWidget 代表一般的窗口,也是在實現(xiàn)QtGui庫中實現(xiàn)的,包含各種各樣的窗口,可以設置其隱蔽性,可見性,窗口特征等待。QDialog 對話框設置,QDialog:代表對話框,用來實現(xiàn)那些只是暫時存在的用戶界面,是獨立的窗口,但通常也有父窗口對話框有模態(tài)和非模態(tài)兩種,非模態(tài)對話框的行為和使用方法都類似于普通的窗口,模態(tài)對話框則有所不同,當模態(tài)對話框顯示時,其他窗口將全部進入非激活狀態(tài),不能接受鍵盤和鼠標事件,模態(tài)的方式又可分為兩種,一種是對整個應用程序模態(tài),這時它的出現(xiàn)將導致程序中的所有窗口失去響應。另一種是對窗口模態(tài),這時僅僅會導致它所在的整個窗口樹失去響應它只是表示暫時存在的用戶界面,包含模態(tài)與非模態(tài)兩種。另外還有QLabel、QAbstractButton: QPushButton,QCheckBox: QRadioButton:等一些界面顯示類,這里不做贅述。 QT 開發(fā)機制簡介信號與槽機制是 QT 開發(fā)時用到的的核心機制。信號和插槽是一種高級接口,應用于對象與對象之間的接口通信,它是 QT 最常用到的功能,也是 QT 開發(fā)軟件區(qū)別于其他開發(fā)工具的關(guān)鍵。信號和插槽技術(shù)是 QT 自行定義的一種通信機制,它獨立于標準的C/C++語言,要想正確地處理信號和插槽,必須借助一個稱為 MOC(Metia Object Compiler)的 QT 工具,該工具可以對 C++程序進行預處理,同時為高層次的事件處理自動生成所需要的附加代碼。Qt 的槽信號機制可以實現(xiàn)多個信號與單個插槽連接,單個信號與很多插槽也可以連接,甚至將一個信號與另外一個信號相連接也是可以實現(xiàn)的的,這時無論第一個信號什么時候發(fā)射,系統(tǒng)都將立刻發(fā)射第二個信號??傊盘柵c插槽組成了一個強大的連鎖編程機制。在我們所熟知的很多 GUI 工具包中,窗口小部件(widget)都有一個回調(diào)函數(shù),用于響應它們能觸發(fā)的每個動作,回調(diào)函數(shù),通常是一個指向某個函數(shù)的指針。但是,在 QT 中信號和槽機制的開發(fā)模式取代了這些凌亂的函數(shù)指針,使得我們編寫這些通信程序更為簡潔明了。信號和槽機制能攜帶任意數(shù)量和任意類型的參數(shù),他們是類型完全安全的,不會像回調(diào)函數(shù)那樣產(chǎn)生 core dumps。所有從 QObject 或其子類(例如 QWidget)派生的類都能夠包含信號和槽。當對象改變其狀態(tài)時,信號就由該對象發(fā)射(emit)出去,這就是對象所要做的全部事情,它不知道另一端是誰在接收這個信號。這就是真正的信息封裝,它確保對象被當作一個北京郵電大學畢業(yè)設計10真正的軟件組件來使用。槽用于接收信號,但它們是普通的對象成員函數(shù)。一個槽并不知道是否有任何信號與自己相連接。而且,對象并不了解具體的通信機制??梢郧逦宫F(xiàn)出其實現(xiàn)原理,如圖 21 所示圖21 Qt信號和槽機制關(guān)聯(lián)圖Qmake 工具介紹。編寫和開發(fā)多平臺的軟件是單調(diào)乏味的,且出現(xiàn)錯誤的幾率很大,維護艱難更是如此,尤其是當不同的編譯器和平臺組合需要若干個編譯文件時,但是通過 Qt 提供的 qmake 工具可以構(gòu)建出 Cross Platform Bulids 跨平臺的應用程序。即利用 qmake 可以根據(jù)一個工程文件(.pro)產(chǎn)生不同平臺下的 Makefile 文件。Qmake 支持跨平臺開發(fā)和所謂的影子生成( shadow builds)技術(shù),qmake 還易于在不同的配置中切換,此外,它還可以進行調(diào)試和發(fā)布不同版本的生成,十分方便。嵌入式系統(tǒng)的 GUI 簡介 嵌入式 GUI 就是在嵌入式系統(tǒng)中為特定的硬件設備或環(huán)境而設計的圖形用
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1