2010-09-27 48 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