自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

剖析 Qt 實(shí)現(xiàn)動畫狀態(tài)機(jī)實(shí)例

移動開發(fā)
本文介紹的是Qt 實(shí)現(xiàn)動畫狀態(tài)機(jī)實(shí)例,一個有趣的實(shí)例,實(shí)現(xiàn)動畫方式。先來看內(nèi)容。

Qt 實(shí)現(xiàn)動畫狀態(tài)機(jī)實(shí)例是本文介紹的內(nèi)容,Qt 4.6引入了動畫框架,擺脫了以往控件只能安靜的呆在布局里的時(shí)代,利用Qt提供的動畫框架,我們可以讓控件跳起舞來,呵呵,很有趣啊… 在Qt 4.7中又引入了Qt quick技術(shù),其中的QML語言也是專門來定制GUI動畫效果的,這是一種新的GUI動畫機(jī)制,我剛也接觸了些,語法類似CSS,實(shí)現(xiàn)預(yù)定義的動畫很方便,所見即所得,路還得一步步走,先學(xué)習(xí)一下傳統(tǒng)的Qt動畫方式——狀態(tài)機(jī)

這里先直接給出例子(見圖):

實(shí)現(xiàn)動畫

 

下面是源碼:

  1. #include <QApplication> 
  2. #include <QStateMachine> 
  3. #include <QPushButton> 
  4. #include <QSignalTransition> 
  5. #include <QPropertyAnimation> 
  6. int main(int argc,char **argv){  
  7.     QApplication app(argc,argv);  
  8.         QWidget *w=new QWidget;  
  9.             w->resize(240,320);  
  10.                QPushButton *button = new QPushButton("hicjiajia",w);  
  11.                 QStateMachine *machine = new QStateMachine;     //新建狀態(tài)機(jī)  
  12.                QState *state1 = new QState(machine);     //狀態(tài)  
  13.                state1->assignProperty(button,"geometry",QRect(0,0,80,30));    //綁定button的geomertry屬性  
  14.               machine->setInitialState(state1);     //state1設(shè)為初始化狀態(tài)  
  15.              QState *state2 = new QState(machine);  
  16.             state2->assignProperty(button,"geometry",QRect(w->width()-30,w->height()-80,30,80));  
  17.             QFont font = QFont("Airl", 12);   
  18.         state2->assignProperty(button,"font",font);     //狀態(tài)2字體  
  19.         QPropertyAnimation *ani=new QPropertyAnimation(button,"geometry");  
  20.          ani->setDuration(2000);    ani->setEasingCurve(QEasingCurve::OutBounce);   //動畫效果—彈跳   
  21.          QSignalTransition *transition1=state1->addTransition(button,SIGNAL(clicked()),state2);//動畫觸發(fā)信號  
  22.              transition1->addAnimation(ani);  
  23.         QSignalTransition *transition2=state2->addTransition(button,SIGNAL(clicked()),state1);  
  24.         transition2->addAnimation(ani);   
  25.         machine->start();     //開啟狀態(tài)機(jī)   
  26.         w->show();  
  27.         return app.exec();  

小結(jié):剖析 Qt 實(shí)現(xiàn)動畫狀態(tài)機(jī)實(shí)例的內(nèi)容介紹完了,希望本文對你有所幫助,你應(yīng)該也對這個實(shí)例很感興趣吧!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-29 18:36:59

Qt 動畫 狀態(tài)機(jī)

2024-10-10 17:46:06

2010-02-24 09:32:38

Visual Stud

2023-03-06 07:35:30

狀態(tài)機(jī)工具訂單狀態(tài)

2020-12-02 13:33:58

函數(shù)指針編程語言

2021-07-08 09:15:20

單片機(jī)編程狀態(tài)機(jī)編程語言

2010-06-18 12:38:38

UML狀態(tài)機(jī)視圖

2010-06-12 11:11:55

UML應(yīng)用

2024-01-08 09:46:47

2013-09-03 09:57:43

JavaScript有限狀態(tài)機(jī)

2010-06-18 13:25:44

UML狀態(tài)機(jī)視圖

2020-10-15 10:38:35

C語言狀態(tài)模型

2010-07-08 13:03:31

UML狀態(tài)機(jī)圖

2020-03-27 10:50:29

DSL 狀態(tài)機(jī)工具

2022-03-06 19:57:50

狀態(tài)機(jī)easyfsm項(xiàng)目

2010-07-12 15:00:56

UML狀態(tài)機(jī)視圖

2021-08-19 09:00:00

微服務(wù)開發(fā)架構(gòu)

2021-12-28 08:24:18

函數(shù)指針有限狀態(tài)機(jī)編程

2021-04-29 09:31:05

前端開發(fā)技術(shù)

2010-06-18 13:15:07

UML狀態(tài)機(jī)圖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號