ich kann mich nur noch schwach dran erinnern, aber ich hab das auch mal gebraucht und es war ganz simpel. mir geht da QWMatrix durch den kopf ... war jedoch noch Qt3.
aber ich denke in Qt4 ist
QPainter::setWorldTransform(const QTransform & matrix, bool combine=false) das was du brauchst.
edit :
ok, mal wieder zu schnell geantwortet.

das rotate() sollte prinzipiell auch funktionieren.
aber warum gehst du den weg über die paint-engine ? ich denke genau in dieser pointer-kette gibt es dann nen NULL-zeiger. du kannst doch direkt mit dem QPainter arbeiten, oder ?
gruß Obel