В ассистенте немного подругому,
QPrinter printer(QPrinter::HighResolution);
printer.setPaperSize(QPrinter::A4);
QPainter painter(&printer);
scene.render(&painter);
а насчет setPaperSize сказано
Sets the printer paper size to newPaperSize if that size is supported. The result is undefined if newPaperSize is not supported.
The default paper size is driver-dependent.
возможно в этом кроется проблема.