Edit: Added more information.
I’d like to rotate a QPolygonF around the origin illustrated below:

I’d like this polygon (centre of image is origin – 0, 0):

To rotate clockwise so that it ends up here:

The QPolygonF has points in the same position as the first block in the image above:
QPolygonF p1 = QPolygonF() << QPointF(0, 1) << QPointF(4, 1) << QPointF(4, 2) << QPointF(0, 2);
I then rotate around what I think is the correct origin (2, 2):
QTransform t;
t.translate(2, 2);
t.rotate(-90);
t.translate(-2, -2);
QPolygonF p2 = t.map(p1);
qDebug() << p1 << "rotated = " << p2;
Output:
QPolygonF(QPointF(0, 1) QPointF(4, 1) QPointF(4, 2) QPointF(0, 2) ) rotated = QPolygonF(QPointF(1, 4) QPointF(1, 0) QPointF(2, 0) QPointF(2, 4) )
When the output that I want is:
QPolygonF(QPointF(0, 1) QPointF(4, 1) QPointF(4, 2) QPointF(0, 2) ) rotated = QPolygonF(QPointF(2, 0) QPointF(3, 0) QPointF(3, 4) QPointF(2, 4) )
But, according to the output above, the polygon would end up looking like this:

At which point should I be rotating around?
Edit
After working out what you are after I now know the right code to achieve this:
Which will give the rectangle:
Which is what you expect (although the ordering is change due the rotation). It’s worth noting that
rotate(90)androtate(-90)will not give the same result as you are rotating about the edge of the rectangle, not the middle of it.Conceptualising QT tranforms
Some confusion may arise because of the direction of the qt rotate function. Although this will enact a counter clockwise rotation, because we “see” the y-axis inverted (at least in this case) it appears clockwise to us.
As an analogy if I’m in a room and observer a lamp falling over to the left,
from the point of view of someone hanging on the cieling it has “fallen over” to the right.