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...