qt動畫類學習

2021-10-11 08:58:38 字數 3618 閱讀 7786

qpropertyanimation *animation =

newqpropertyanimation

(window()

,"windowopacity");

或者qpropertyanimation *animation=

newqpropertyanimation()

;animation-

>

settargetobject

(window()

);animation-

>

setpropertyname

("windowopacity"

);

第乙個引數是需要進行動畫的窗體,第二個引數是要進行的操作(漸變出現,移動位置,逐漸放大放小等功能)。

windowopacity:逐漸出現和逐漸消失動畫

//介面動畫,改變透明度的方式出現0 - 1漸變

qpropertyanimation *animation =

newqpropertyanimation

(window()

,"windowopacity");

animation-

>

seteasingcurve

(qeasingcurve::ncurvetypes)

;//線性

animation-

>

setduration

(1000);

//為期1分鐘完成

animation-

>

setstartvalue(0

);//開始是全部隱藏

animation-

>

setendvalue(1

);//結束是全部顯現

animation-

>

start

(qabstractanimation::deletewhenstopped)

;//結束時自動釋放資源

pos:移動動畫

//介面動畫效果移動

qpropertyanimation *animation =

newqpropertyanimation

(m_bottom*******,

"pos");

animation-

>

setduration

(200);

秒完成animation-

>

seteasingcurve

(qeasingcurve::ncurvetypes)

;//線性

animation-

>

setstartvalue

(qpoint((

width()

- m_bottom*******-

>

width()

)/2, m_bottom*******-

>y(

)));

//開始位置

animation-

>

setendvalue

(qpoint((

width()

- m_bottom*******-

>

width()

)/2,

height()

- m_bottom*******-

>

height()

-10))

;//結束位置

animation-

>

start

(qabstractanimation::deletewhenstopped)

;//結束時自動釋放資源

size:放大或者縮小

qpropertyanimation *animation=

newqpropertyanimation

(window()

,"size");

animation-

>

setduration

(200);

//時間0.2秒

desktop()

;qrect screenrect = desktopwidget-

>

screengeometry()

;//螢幕區域

int w = screenrect.

width()

;int h = screenrect.

height()

;qsize a

(window()

->

size()

);animation-

>

setstartvalue

(qsize

(window()

->

size()

*0.9))

;//初始大小

animation-

>

setendvalue

(qsize

(w,h));

//結束大小

animation-

>

start

(qabstractanimation::deletewhenstopped)

;//完成時**資源

geometry:大小和位置的改變

//大小和位置

/* 宣告動畫類,並將控制物件 this (this一定是繼承自qobject的視窗部件) 以及屬性名 "geometry" 傳入建構函式 */

qpropertyanimation* animation = nenw qpropertyanimation

(this

,"geometry");

/* 設定動畫持續時長為 2 秒鐘 */

animation-

>

setduration

(2000);

/* 設定動畫的起始狀態 起始點 (1,2) 起始大小 (3,4) */

animation-

>

setstartvalue

(qrect(1

,2,3

,4))

;/* 設定動畫的結束狀態 結束點 (100,200) 結束大小 (300,400) */

animation-

>

setsendvalue

(qrect

(100

,200

,300

,400))

;/* 設定動畫效果 */

animation-

>

seteasingcurve

(qeasingcurve::outinexpo)

;/* 開始執行動畫 qabstractanimation::deletewhenstopped 動畫結束後進行自清理(效果就好像智慧型指標裡的自動delete animation) */

animation-

>

stsart

(qabstractanimation::deletewhenstopped)

;

Qt學習之路之QMovie動畫

qmovie qmovie類用於 顯示簡單的動畫 沒有聲音。首先,通過將乙個檔案的名稱或者乙個指標傳遞給qmovie的建構函式構建乙個qmovie物件。傳遞的檔案包含檔案的格式。可以呼叫函式 isvalid 呼叫函式 start started 和statechanged 訊號。當然,呼叫函式 st...

QByteArray類學習(QT常見類學習1)

qbytearray類提供了位元組陣列,包含於 標頭檔案中,從 q3cstring 類繼承而來。qbytearray可以儲存 raw bytes 和傳統的 8 bits 的字串,都是以 0 結尾的,使用比 char 更方便qstring也可以儲存字串資訊,但通常以 16 bits 形式unicode...

Qt動畫設定

主要用到了qpropertyanimation這個類 如 qpropertyanimation logo text animaton geo 漸變動畫類 logo text animaton geo new qpropertyanimation logo text lab,geometry this...