#include <QtGui/QApplication>
#include "animation.h"
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsItemAnimation>
#include <QGraphicsEllipseItem>
#include <QTimeLine>
#include "windows.h"
int main(int argc, char *argv[])
{
//Animation w;
//w.show();
Rect->setZValue(-1);
timer->setFrameRange(0, 100);
animation->setItem(ball);
animation->setTimeLine(timer);
animation1->setItem(Rect);
animation1->setTimeLine(timer);
scene->addItem(ball);
//scene->addItem(ecl);
scene->addItem(Rect);
view->setAlignment(Qt::AlignCenter);
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setGeometry(10,10,900,700);
view->show();
//timer->start();
QRectF rc
= ball
->mapToScene
(ball
->boundingRect
()).
boundingRect();
QRectF rc1
= ecl
->mapToScene
(ecl
->boundingRect
()).
boundingRect();
QRectF rc2
= Rect
->mapToScene
(Rect
->boundingRect
()).
boundingRect();
for (int i = 0; i < 200; ++i)
{
//animation->setTranslationAt(i/200.0, rc.width()/2.0,rc.height()/2.0);
animation->setScaleAt(i/200.0, 1 + i/200.0, 1 + i/200.0);
//animation->setTranslationAt(i/200.0, -( rc.width()/2.0 + i/200.0), -rc.height()/2.0);
animation
->setPosAt
(i
/200.0,
QPointF(150.0 - i
/200.0, rc.
top()));
}
for (int i = 0; i < 200; ++i)
{
//animation1->setTranslationAt(i/200.0, -i/200.0,0);
animation1->setScaleAt(i/200.0, 1 + i/200.0, 1 + i/200.0);
//animation1->setTranslationAt(i/200.0, -rc2.width()/2.0, -rc2.height()/2.0);
animation1
->setPosAt
(i
/200.0,
QPointF(150.0 -i
/200.0, rc2.
top()));
}
rc = ball->mapToScene(ball->boundingRect()).boundingRect();
rc1 = ecl->mapToScene(ecl->boundingRect()).boundingRect();
rc2 = Rect->mapToScene(Rect->boundingRect()).boundingRect();
//scene->addItem(Rect);
//scene->setSceneRect(10, 10, 900, 700);
return a.exec();
}
#include <QtGui/QApplication>
#include "animation.h"
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsItemAnimation>
#include <QGraphicsEllipseItem>
#include <QTimeLine>
#include "windows.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//Animation w;
//w.show();
QGraphicsRectItem *ball = new QGraphicsRectItem(150, 150, 100, 100);
ball->setBrush(QBrush(QColor(255,0,0)));
QGraphicsEllipseItem *ecl = new QGraphicsEllipseItem(150, 150, 20, 20);
ecl->setBrush(QBrush(QColor(0,255,0)));
QGraphicsRectItem *Rect = new QGraphicsRectItem(200, 175, 100, 50);
Rect->setBrush(QBrush(QColor(0,0,255)));
Rect->setZValue(-1);
QTimeLine *timer = new QTimeLine(15000);
timer->setFrameRange(0, 100);
QGraphicsItemAnimation *animation = new QGraphicsItemAnimation;
animation->setItem(ball);
animation->setTimeLine(timer);
QGraphicsItemAnimation *animation1 = new QGraphicsItemAnimation;
animation1->setItem(Rect);
animation1->setTimeLine(timer);
QGraphicsScene *scene = new QGraphicsScene();
scene->addItem(ball);
//scene->addItem(ecl);
scene->addItem(Rect);
QGraphicsView *view = new QGraphicsView(scene);
view->setAlignment(Qt::AlignCenter);
view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
view->setGeometry(10,10,900,700);
view->show();
//timer->start();
QRectF rc = ball->mapToScene(ball->boundingRect()).boundingRect();
QRectF rc1 = ecl->mapToScene(ecl->boundingRect()).boundingRect();
QRectF rc2 = Rect->mapToScene(Rect->boundingRect()).boundingRect();
for (int i = 0; i < 200; ++i)
{
//animation->setTranslationAt(i/200.0, rc.width()/2.0,rc.height()/2.0);
animation->setScaleAt(i/200.0, 1 + i/200.0, 1 + i/200.0);
//animation->setTranslationAt(i/200.0, -( rc.width()/2.0 + i/200.0), -rc.height()/2.0);
animation->setPosAt(i/200.0, QPointF(150.0 - i/200.0, rc.top()));
}
for (int i = 0; i < 200; ++i)
{
//animation1->setTranslationAt(i/200.0, -i/200.0,0);
animation1->setScaleAt(i/200.0, 1 + i/200.0, 1 + i/200.0);
//animation1->setTranslationAt(i/200.0, -rc2.width()/2.0, -rc2.height()/2.0);
animation1->setPosAt(i/200.0, QPointF(150.0 -i/200.0, rc2.top()));
}
rc = ball->mapToScene(ball->boundingRect()).boundingRect();
rc1 = ecl->mapToScene(ecl->boundingRect()).boundingRect();
rc2 = Rect->mapToScene(Rect->boundingRect()).boundingRect();
//scene->addItem(Rect);
//scene->setSceneRect(10, 10, 900, 700);
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks