Qt 5 開發及實例(第5版) 課件 第20章 QML動畫特效_第1頁
Qt 5 開發及實例(第5版) 課件 第20章 QML動畫特效_第2頁
Qt 5 開發及實例(第5版) 課件 第20章 QML動畫特效_第3頁
Qt 5 開發及實例(第5版) 課件 第20章 QML動畫特效_第4頁
Qt 5 開發及實例(第5版) 課件 第20章 QML動畫特效_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

QT5開發及實例(第5版)第20章QML動畫特效——QML動畫元素01PropertyAnimation元素PropertyAnimation元素PropertyAnimation(屬性動畫元素)是用來為屬性提供動畫的最基本的動畫元素,它直接繼承自Animation元素,可以用來為real、int、color、rect、point、size和vector3d等屬性設置動畫。一般的使用方式有如下幾種:

作為屬性值的來源。可以立即為一個指定的屬性使用動畫。

在信號處理器中創建。當接收到一個信號(如鼠標單擊事件)時觸發動畫。

作為獨立動畫元素。像一個普通QML對象一樣地被創建,不需要綁定到任何特定的對象和屬性。

在屬性值改變的行為中創建。當一個屬性改變值時觸發動畫,這種動畫又叫“行為動畫”。PropertyAnimation元素【例】(簡單)(CH2001)編程演示動畫元素多種不同的使用方式,運行效果如圖,圖中以虛線箭頭標示出各圖形的運動軌跡,其中,“屬性值源”矩形:始終在循環往復地移動;“信號處理”矩形:每單擊一次會往返運動3次;“獨立元素”矩形:每單擊一次移動一次;任意時刻在窗口內的其他位置單擊鼠標,“改變行為”矩形都會跟隨鼠標移動。(2)定義4個矩形組件,代碼分別。(3)打開main.qml文件,編寫代碼。02其他動畫元素其他動畫元素【例】(簡單)(CH2002)編程演示其他各種動畫元素的應用,運行效果如圖,其中虛線箭頭標示出在程序運行中圖形運動變化的軌跡。實現步驟如下。(1)新建QML應用程序,項目名稱為“OtherAnimations”。(2)右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加新文件…”項,新建CircleRect.qml文件,編寫代碼。其他動畫元素(3)打開main.qml文件,編寫代碼如下:importQtQuick2.15importQtQuick.Window2.15

Window{width:640height:150visible:truetitle:qsTr("OtherAnimations")

Rectangle{width:360height:360anchors.fill:parent

CircleRect{ //使用組件x:50;y:30}}}03Animator元素Animator元素【例】(難度一般)(CH2003)用Animator實現一個矩形從窗口左上角旋轉著進入屏幕,運行效果如圖。實現步驟如下。(1)新建QML應用程序,項目名稱為“Animator”。(2)右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加新文件…”項,新建AnimatorRect.qml文件,編寫代碼。Animator元素(3)打開main.qml文件,編寫代碼如下:importQtQuick2.15importQtQuick.Window2.15

Window{width:320height:240visible:truetitle:qsTr("Animator")

Rectangle{width:360height:360anchors.fill:parent

AnimatorRect{} //使用組件}}QT5開發及實例(第5版)第20章QML動畫特效——動畫流UI界面01狀態和切換狀態和切換【例】(難度中等)(CH2004)用狀態切換機制實現文字的動態增強顯示,運行效果如圖,其中被鼠標選中的單詞會以藝術字放大,而釋放鼠標后又恢復原狀。實現步驟如下。(1)新建QML應用程序,項目名稱為“StateTransition”。(2)右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加新文件…”項,新建StateText.qml文件,編寫代碼。狀態和切換(3)打開main.qml文件,編寫代碼如下:importQtQuick2.15importQtQuick.Window2.15

Window{width:320height:240visible:truetitle:qsTr("StateTransition")

Rectangle{width:360height:360anchors.fill:parent

Row{anchors.centerIn:parentspacing:10StateText{text:"I"} //使用組件,要自定義其文本屬性StateText{text:"love"}StateText{text:"QML"}}}}02設計組合動畫設計組合動畫【例】(難度中等)(CH2005)用組合動畫實現照片的動態顯示,運行效果如圖。實現步驟如下。(1)新建QML應用程序,項目名稱為“ComplexAnimation”。(2)在項目工程目錄中建一個images文件夾,其中放入一張照片“zhou.jpg”。右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加現有文件…”項,從彈出的對話框中選擇該照片并打開,將其加載到項目中。(3)右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加新文件…”項,新建CAnimateObj.qml文件,編寫代碼。設計組合動畫(4)打開main.qml文件,編寫代碼如下:importQtQuick2.15importQtQuick.Window2.15

Window{width:660height:330visible:truetitle:qsTr("ComplexAnimation")

Rectangle{width:360height:360anchors.fill:parent

CAnimateObj{} //使用組件}}QT5開發及實例(第5版)第20章QML動畫特效——圖像特效013D旋轉3D旋轉【例】(難度一般)(CH2006)實現GIF圖像的立體旋轉,運行效果如圖,兩只蜜蜂在花冠上翩翩起舞,同時整個圖像沿豎直軸緩慢地轉動。實現步驟如下。(1)新建QML應用程序,項目名稱為“Graph3DRotate”。(2)在項目工程目錄中建一個images文件夾,其中放入一幅圖像“bee.gif”。右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加現有文件…”項,從彈出的對話框中選擇該圖像并打開,將其加載到項目中。(3)右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加新文件…”項,新建MyGraph.qml文件,編寫代碼。3D旋轉(4)打開main.qml文件,編寫代碼如下:importQtQuick2.15importQtQuick.Window2.15

Window{width:420height:320visible:truetitle:qsTr("Graph3DRotate")

Rectangle{width:360height:360anchors.fill:parent

MyGraph{} //使用組件}}02色彩處理色彩處理【例】(難度一般)(CH2007)實現單擊圖像使其亮度變暗,且對比度增強,運行效果如圖。實現步驟如下。(1)新建QML應用程序,項目名稱為“GraphEffects”。(2)在項目工程目錄中建一個images文件夾,其中放入一幅圖像“insect.gif”。右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加現有文件…”項,從彈出的對話框中選擇該圖像并打開,將其加載到項目中。(3)右擊項目視圖“資源”→“qml.qrc”下的“/”節點,選擇“添加新文件…”項,新建MyGraph.qml文件,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論