2010-09-27 46 views

回答

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); 
} 
+0

非常感谢我尝试它和它运行。但我有一个问题。我的场景约为(0,0,27,800,800)并且不可读。你认为有什么解决办法吗? – ayla 2010-09-28 16:10:06