Thanks!

Using your hint I was able to fix the problem like this:
Qt Code:
  1. QPointF zero_point = QwtScaleMap::transform(xMap, yMap, QPointF(0, 0));
  2. for(int i=0; i< 50; i++) {
  3. painter->save();
  4. painter->translate(zero_point);
  5. painter->rotate(-90 - i * 7.2);
  6. painter->translate(QPointF(-zero_point.x(), -zero_point.y()));
  7. QwtPainter::drawText(painter, QwtScaleMap::transform(xMap, yMap, QRectF(-14,595-100,100,100)),
  8. Qt::AlignLeft | Qt::AlignBottom, QString::number(i));
  9. painter->restore();
  10. }
To copy to clipboard, switch view to plain text mode 

The original code had (0, 0) coordinates in the center of the painter (using window / viewport translation), so that was the rotation center. By translating to it, rotating and then translating back the problem fixed itself.
Another small problem was that the Y axis was inverted (QwtScaleMap::transform() inverts it), hence 595-100 instead of -595.

Thanks again!