Такая задача мне тоже сегодня потребовалась. Qt - не даёт на сей счёт ни какой инфы, rotate() - пожалуйста, а вернуть установленный угол увы... Пришлось вспоминать матрицы и изучать матрицу поворота. За трансформацию в Qt отвечает класс QTransform. У него есть метод isRotating(), который возвращает есть поворот или нет.
При 0 градусов - возвращает FALSE (естественно, ничего не повёрнуто), при других углах (от 0 до 359) - TRUE - тоже верно! Но почему при 180 градусов возвращает FALSE. Имхо баг....
Ну и может кому потребуется функция угла поворота в градусах вот её быстро набросал....
C++ (Qt)
#include <math.h>
qreal rotateAngle( QTransform & tr)
{
double pi = 3.141592653;
qreal angle = (atan(tr.m21()/tr.m11())*180/pi);
if (tr.m21() > 0 && tr.m11() < 0) angle+=180;
if (tr.m21() < 0 && tr.m11() < 0) angle+=180;
return angle;
}