QTransform matrix; matrix.translate(center.x(), center.y()); for (int i = d->runningAnimations.count() - 1; i >= 0; i--) { AxisAnimation *animation = d->runningAnimations.at(i); matrix.rotate(animation->angle(), animation->axis()); } matrix.translate(-center.x(), -center.y()); p.setTransform(matrix);