如何打印QGraphicsView的内容

时间:2010-09-27 11:03:12

标签: c++ qt qgraphicsview

如何在Qt中打印QGraphicsView的内容?

非常感谢。

1 个答案:

答案 0 :(得分:5)

查看官方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);
}