void Board::clearPieces() { if (playerGoesFirst == 1) playerGoesFirst = currentPlayer = 2; else playerGoesFirst = currentPlayer = 1; gameResultText->hide(); /*for (int i=0; i<animations.size(); i++) { delete animations[i]; } animations.clear();*/ clearAnimations = new QParallelAnimationGroup(); QPropertyAnimation* animation; for (int i=0; i<pieces.size(); i++) { animation = new QPropertyAnimation(pieces[i], "pos"); animation->setDuration(1000); animation->setStartValue(QPointF(pieces[i]->x(), pieces[i]->y())); animation->setEndValue(QPointF(pieces[i]->x(), this->originalHeight)); animation->setEasingCurve(QEasingCurve::InQuad); connect(animation,SIGNAL(finished()),animation->targetObject(),SLOT(removeFromScene())); clearAnimations->addAnimation(animation); } clearAnimations->start(); currentPiece = new Piece(currentPlayer, this); }
static PyObject *meth_QPropertyAnimation_targetObject(PyObject *sipSelf, PyObject *sipArgs) { PyObject *sipParseErr = NULL; { QPropertyAnimation *sipCpp; if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPropertyAnimation, &sipCpp)) { QObject *sipRes; Py_BEGIN_ALLOW_THREADS sipRes = sipCpp->targetObject(); Py_END_ALLOW_THREADS return sipConvertFromType(sipRes,sipType_QObject,NULL); } }
void QWidgetAnimator::animationFinished() { QPropertyAnimation *anim = qobject_cast<QPropertyAnimation*>(sender()); abort(static_cast<QWidget*>(anim->targetObject())); }