qmovie
qmovie類用於
顯示簡單的動畫
,沒有聲音。
首先,通過將乙個檔案的名稱或者乙個指標傳遞給qmovie的建構函式構建乙個qmovie物件。傳遞的檔案包含檔案的格式。
可以呼叫函式
isvalid()
呼叫函式
start()
started()
和statechanged()
訊號。當然,呼叫函式
state()
比如, 用
qlabel
顯示動畫:
[cpp]view plain
copy
qlabel label;
qmovie *movie = new
qmovie(
"animations/fire.gif"
);
label.setmovie(movie);
movie->start();
每當乙個動畫用於新的框架中,qmovie將會發出
update()
訊號,若動畫的
幀發生變化,qmovie將會發出
resized()
訊號。
呼叫函式
currentimage()
或者 currentpixmap()
可獲取當前幀副本。
finished()
error()
;
qmovie 相當強大, 它可以呼叫函式
setspeed()
setpaused(true)
statechanged()
訊號。當然,再次向函式
setpaused()
stop()
。
qmovie
可以通過
呼叫setcachemode()
指示快取幀的
動畫。部分qmovie函式詳情:
1,setspeed()
是用原始
的動畫速率
百分比衡量。預設
的速度是100%。例如:
[cpp]view plain
copy
movie movie(
"racecar.gif"
);
movie.setspeed(200); // 2x speed 。
2,backgroundcolor()
函式原型:
[cpp]view plain
copy
qcolor qmovie::backgroundcolor()
const
該函式將返回動畫的背景色,如果沒有指定背景色,那麼,函式將返回乙個無效的 qcolor。可以呼叫 下面的函式設定動畫的背景色:
[cpp]view plain
copy
void
qmovie::setbackgroundcolor(
const
qcolor & color)
3,isvalid()
函式原型:
[cpp]view plain
copy
bool
qmovie::isvalid()
const
如果動畫有效,將返回
true
, 相反,則返回
false
。qmovie的學習就到這兒~~~~
下面是用qlabel物件顯示qmovie動畫的部分**:
[cpp]view plain
copy
qmovie *movie =
newqmovie(
":/movie/1"
);
movie->setspeed(1000);
movie->setbackgroundcolor(qcolor(10, 10, 10));
qlabel *label = new
qlabel();
label->setmovie(movie);
label->show();
movie->start();
執行結果:
Qt之等待提示框(QMovie)
關於gif的使用在實際專案中我用的並不多,因為我感覺瑕疵挺多的,很多時候鋸齒比較嚴重,當然與圖存在很大的關係。關於生成gif的方法可以提供乙個 preloaders,基本是可以滿足需求的。由於錄製程式的原因,引起gif效果不清晰,可忽略。通過使用qmovie來設定動畫 可以呼叫setspeed 設定...
Qt學習之路
qt 學習之路 是在網路上受到一定歡迎的 qt 入門教程。只是這個系列便攜與 2009 年,至今已經有三年多的時間。今天的 qt 有了很大的變化,包括 qt quick 的加入 qt 底層架構的改變,更重要的是 qt 5 的發布。本系列文章將會是 qt 學習之路 的一次公升級和修訂,著重關注於 qt...
QT學習之路
qt學習之路2 目錄 1 序2 qt 前言 3 hello,world 4 訊號槽 5 自定義訊號槽 6 qt 模組簡介 7 mainwindow 簡介 8 新增動作 9 資源檔案 10 物件模型 11 布局管理器 12 選單欄 工具欄和狀態列 13 對話方塊簡介 14 對話方塊資料傳遞 15 標準...