#include "bird.h" #include <QtGui/QApplication> #include <QtGui/qlabel.h> #include <QPixmap> #include <qpushbutton.h> #include <QPropertyAnimation> #include <qparallelanimationgroup.h> #include <QStateMachine> #include <qsignaltransition.h> int main(int argc, char *argv[]) { QApplication a(argc, argv); QPushButton* button1 = new QPushButton("Animation Button"); button1->show(); QStateMachine *machine =new QStateMachine; QState* state1 = new QState(machine); state1->assignProperty(button1,"geometry",QRect(0,0,100,100)); machine->setInitialState(state1); QState* state2 = new QState(machine); state2->assignProperty(button1,"geometry",QRect(250,250,150,30)); QSignalTransition* qst = state1->addTransition(button1,SIGNAL(clicked()),state2); qst->addAnimation(new QPropertyAnimation(button1,"geometry")); QSignalTransition* qst2 = state2->addTransition(button1,SIGNAL(clicked()),state1); qst2->addAnimation(new QPropertyAnimation(button1,"geometry")); machine->start(); return a.exec(); }