Как напечатать содержимое QGraphicsView - PullRequest
4 голосов
/ 27 сентября 2010

Как я могу напечатать содержимое QGraphicsView в Qt?

Большое спасибо.

1 Ответ

5 голосов
/ 27 сентября 2010

Посмотрите официальную документацию 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);
}
...