【Qt】QPropertyAnimation


(tbd)

【目的】

  • 製作簡單的 2D 動畫效果。


【步驟】

  • 先從簡單的開始,由 Qt 官方文件入手。
    首先先在 UI 新增一個 Push Button ,當點選它就會由左上(0,0)至右下(250,250)移動。
    [參考] http://doc.qt.nokia.com/4.7/qpropertyanimation.html
    • geometry 效果 
      void MainWindow::on_pushButton_clicked()
      {
        QPropertyAnimation *animation = new QPropertyAnimation(ui->pushButton, "geometry");
        animation->setDuration(10000);
        animation->setStartValue(QRect(0, 0, 100, 30));
        animation->setEndValue(QRect(250, 250, 100, 30));
      
        animation->start();
      }
    • pos 效果
      void MainWindow::on_pushButton_clicked()
      {
        QPropertyAnimation *animation = new QPropertyAnimation(ui->pushButton, "pos");
        animation->setDuration(10000);
        animation->setStartValue(QPoint(0, 0));
        animation->setEndValue(QPoint(250, 250));
      
        animation->start();
      }
    • opacity 效果
    • rotation 效果
  • 要造成動化效果,需要幾個Widget配合
    • QStateMachine/QState
    • QGraphicsProxyWidget
      • setCacheMode
    • QPropertyAnimation
      • setDuration
      • setStartValue
      • setEndValue
    • QParallelAnimationGroup
      • addAnimation
    • QSequentialAnimationGroup

【參考】

 

Ed32. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com