Есть функция, назначение которой вертеть картинку: void AnimatedControlPanel::rotatePixmap(int theRotationInt) { QPainter painter; QPixmap strelka; // local copy strelka = strelka1; QPointF center(strelka.width() / qreal(2), strelka.height() / qreal(2)); painter.begin(&strelka); painter.save(); painter.setRenderHint(QPainter::Antialiasing); painter.setRenderHint(QPainter::SmoothPixmapTransform); painter.translate(center); painter.rotate(theRotationInt); painter.translate(-center); painter.drawPixmap(QPointF(0, 0), strelka); painter.setPen(QPen(QColor(255, 0, 0, alpha), 0.25, Qt::SolidLine, Qt::FlatCap, Qt::BevelJoin)); painter.setBrush(Qt::NoBrush); painter.drawRect(QRectF(0, 0, strelka.width(), strelka.height()).adjusted(-2, -2, 2, 2)); painter.restore(); painter.end(); ui.strelka_Label -> setPixmap(strelka); }
Проблема в том, что при отрисовке всегда на заднем плане рисуется исходная картинка и потом поверх нее уже повернутая. Не понимаю, почему так происходит. Может где явная ошибка?