1.Qt簡單電子相冊項(xiàng)目


項(xiàng)目介紹:Qt電子相冊項(xiàng)目------含有基本控件,含有圖片的快速播放效果,暫停播放,上一張,下一張,圖片的旋轉(zhuǎn),圖片放大和縮小-----看圖上的控件可以看的出來---隨便找的圖片
左下角是打開文件去找到你想要播放的那一部分圖片
項(xiàng)目準(zhǔn)備:肯定需要想好你需要什么功能,來找到對應(yīng)的圖片和選擇你的控件
創(chuàng)建? ?photowidget? ?項(xiàng)目?
start
創(chuàng)建資源文件:(把你的找到的圖片放到當(dāng)前工程下imge文件夾中),添加前綴為/,然后把文件夾中的圖片全部加入里面


2.在UI界面,分別拖動相應(yīng)的控件去添加類似主界面中,并且改成為相應(yīng)的對象名字,刪除文本加入資源文件圖片在控件上


為什么用QScroolArea:當(dāng)圖片放大的時(shí)候我們我們可以滑動兩邊的邊框來設(shè)置看圖片
3.把所有的控件按鈕設(shè)置利用 信號和槽函數(shù) 來實(shí)現(xiàn)所有的功能

注意;這里利用了定時(shí)器的操作來播放一系列圖片
4.一步一步實(shí)現(xiàn)相應(yīng)的槽函數(shù)功能
相應(yīng)的對應(yīng)的變量和函數(shù)



知識點(diǎn)整理:
QPainterDevice(繪圖設(shè)備)-----和繪圖相關(guān)的類:
一般有QImage ,QPixmap ,QPicture ?,QWidget --------等?。。。。。?!
在我的看法:對于繪畫和顯示來說,這些設(shè)備就是顯示相應(yīng)圖片和繪畫的控件
QPixmap:圖片類,主要的用處就是顯示圖片,對圖片的顯示做優(yōu)化處理,和平臺有關(guān)
??QImage:圖片類,圖依賴于平臺,多用于圖片的傳輸,可以做像素級的修改
?Qbitmap:黑白的圖片,和其他繪圖設(shè)備差不多用法
?QPicture:可以理解為是一個(gè)繪圖的容器,里面保存有繪圖的記錄和重繪的指令,存??????? ?儲的形式是二進(jìn)制形式,也就是說我們無法直接雙擊打開picture()圖片
在現(xiàn)在的階段只需要知道,Qimage是保存很多圖片信息的類控件,里面有繪圖信息,我們可以通過painter等來畫這些圖片在其他的設(shè)備上
調(diào)色板 QPalette
Qt提供的調(diào)色板類QPalette專門管理對話框的外觀顯示;//不是直接類似給控件設(shè)置那個(gè)資源文件,類似為控件設(shè)置相應(yīng)的背景信息
Qpalette類相當(dāng)于對話框或控件的調(diào)色板,他管理著控件或窗體的所有顏色(背景)信息。感覺這里的顏色是比較籠統(tǒng)的概念
重點(diǎn):每一個(gè)窗體或控件都包含一個(gè)Qpalette對象,在顯示時(shí),按照它的Qpalette對象中各部分狀態(tài)下顏色的描述進(jìn)行繪制
所以每一個(gè)控件設(shè)置調(diào)色板也就相當(dāng)于設(shè)置自己窗體的顏色信息
列:QImage image;???? ???????????//定義一個(gè)設(shè)備類吧!
??? ?image.load(":/image/mainbg.jpeg");???? //上載圖片資源
??? ?QPalette palette;?? ???????????????//定義一個(gè)調(diào)色板
??? ?palette.setBrush(this->backgroundRole(),QBrush(image));?
? ? //設(shè)置調(diào)色板相應(yīng)的信息
? ?this->setPalette(palette);
QTimer ---定時(shí)器---:
提供了重復(fù)和單次觸發(fā)信號的定時(shí)器。
1.???? void timeout()為信號,定時(shí)器超時(shí)后,這個(gè)信號被發(fā)射
2.???? void start()為開啟定時(shí)器函數(shù),它的重載函數(shù)void start(int msec),啟動或者重新啟動一個(gè)超時(shí)時(shí)間間隔為毫秒的定時(shí)器,個(gè)定時(shí)器正在運(yùn)行,他將被停止和重新啟動
3.???? void stop()停止定時(shí)器

Qt基本對話框:
1.???? QFileDialog類------(標(biāo)準(zhǔn)文件對話框) ----打開文件之前用,方便操作文件,
靜態(tài)函數(shù) getOpenFileName? 返回用戶打開的文件名,并且打開文件
常與文件操作聯(lián)系,上面代碼中的是打開目錄的文件,是目錄操作
Qt目錄操作(QDir) :QDir 類有存取目錄結(jié)構(gòu)和內(nèi)容的能力,使用他可以操作目錄,存取目錄和文件的信息,操作底層系統(tǒng)文件系統(tǒng),而且還可以存取Qt的資源文件
Qt用/作為通用的目錄分隔符和URL路徑分隔符。Linux和Windows的分隔符不同,可以使用靜態(tài)成員 separator()返回適合的分隔符
在我的理解就是一個(gè)文件的框架,他的一些函數(shù)可以返回目錄里面的相應(yīng)的信息,比如返回你選擇目錄的路徑,你選擇文件目錄里面的路徑(文件名)等,方便其他的類去操作相應(yīng)路徑下的信息吧!!!????????????????????? 絕對路徑:從根目錄開始,是一個(gè)完整的路徑
目錄的路徑可以通過path()函數(shù)返回,通過setPath()設(shè)置新路徑。
絕對路徑使用absolute()返回,目錄名可以用dirName()獲得
entryList()返回目錄下所有條目組成的字符串鏈表----常和QStringList 連用
//加載目錄下第i個(gè)文件
load(Dir.absolutePath()+QDir::separator()+QStringList.at(i));





Qt 圖像的坐標(biāo)變換
QMatrix類提供了世界坐標(biāo)系的二維轉(zhuǎn)換功能,可以使窗體裝換變形,經(jīng)常在繪圖程序中使用,還可以實(shí)現(xiàn)坐標(biāo)系統(tǒng)的移動,放大,減小,變形,旋轉(zhuǎn)功能
列: img=img.transformed(matrix.scale(2))? ;
提供了一系列圖像變換的功能函數(shù)
圖片變換兩部:1.Matrix 設(shè)置變換 ?2.image類進(jìn)行使用



這次的項(xiàng)目學(xué)習(xí)就到這里?。。。?/p>
如果想讓up繼續(xù)更新在這上面,請給UP一個(gè)贊的鼓勵(lì)?。。?!謝謝