首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

精通QT4编程里的一个简略动画的例题,求解

2012-06-20 
精通QT4编程里的一个简单动画的例题,求解。#include QtGui#include cmathusing namespace stdconst qr

精通QT4编程里的一个简单动画的例题,求解。
#include <QtGui>
#include <cmath>

using namespace std;

const qreal PI = 3.14159265;

int main(int argc, char* argv[])
{
  QApplication app(argc, argv);
  QGraphicsEllipseItem *sun = new QGraphicsEllipseItem(0, 0, 20, 20);
  sun->setBrush(Qt::red);
  sun->setPen(QPen(Qt::red));

  QTimeLine *timeline = new QTimeLine(10000);
  timeline->setCurveShape(QTimeLine::LinearCurve);
  //timeline->setFrameRange(0, 100);

  QGraphicsItemAnimation *animation = new QGraphicsItemAnimation;
  animation->setItem(sun);
  animation->setTimeLine(timeline);

  qreal x, y;
  qreal angle = PI;
  for (int i = 0; i <= 180; ++i)
  {
  x = 200.0 * cos(angle);
  y = 200.0 * sin(angle);
  qDebug() << x << y;
  animation->setPosAt(i/180.0, QPointF(x, y));
  angle += PI/180.0;
  }

  QGraphicsScene *scene = new QGraphicsScene();
  scene->addItem(sun);

  QGraphicsView *view = new QGraphicsView(scene);
  view->resize(640,480);
  view->show();

  timeline->start();
  return app.exec();
}

问下,为什么这样画的不是个圈而是个半圆呢,而且发现原点(0 , 0)好像在动(调试的时候我在圆点画了个蓝色的圆点)。如果我想画个圆该怎么画呢?

[解决办法]
我想画直线都不会,唉

热点排行