Разрабатываю программу, которая на GraphicsScene рисует множество элементов, потом, по замыслу, печатает сцену на бумагу. Под линуксом все нормально, а вот под windows печать сцены не работает. То есть вот такой код:
QGraphicsScene scene;
scene.addRect(10, 10, 200, 100);
QPrinter printer(QPrinter::PrinterResolution);
printer.setPaperSize(QPrinter::A4);
QPainter painter(&printer);
scene.render(&painter);
компилируется, под линуком печатает, под виндоусом принтер захватывает страницу и выдает ее чистой. Хотя вариант с рисованием прямо на принтер работает:
QPrinter printer(QPrinter::PrinterResolution);
printer.setPaperSize(QPrinter::A4);
QPainter painter(&printer);
QRect r(painter.viewport());
painter.setPen(Qt::black);
painter.setFont(QFont("Times", 20, QFont::Normal));
painter.drawText(r, Qt::AlignCenter, "Printer Test");
Можно ли как-то напечатать уже готовую сцену, или придется переделывать программу, чтоб рисовалось второй раз, но уже на принтер?