Посмотрите официальную документацию Qt: http://doc.qt.io/archives/4.6/graphicsview.html#printing
Для дальнейшей справки:
"Графическое представление обеспечивает однострочную печать через функции рендеринга QGraphicsScene::render()
и QGraphicsView::render()
. Функции предоставляют один и тот же API: вы можете сделать так, чтобы сцена или представление полностью или частично отображали их содержимое на любом устройстве рисования, передав QPainter
любой из функций рендеринга. В этом примере показано, как напечатать всю сцену.на полную страницу, используя QPrinter
. "
Пример:
QGraphicsScene scene;
scene.addRect(QRectF(0, 0, 100, 200), QPen(Qt::black), QBrush(Qt::green));
QPrinter printer;
if (QPrintDialog(&printer).exec() == QDialog::Accepted) {
QPainter painter(&printer);
painter.setRenderHint(QPainter::Antialiasing);
scene.render(&painter);
}