如何在pyQT中保存QGraphicsScene中的图形图像

时间:2012-12-20 04:49:36

标签: pyqt qgraphicsscene qpixmap

如何在pyQT

中从QGraphicsScene渲染图形图像

我在QGraphicsScene中有一张图片,该图片是根据多个QGraphicsPixMapItem项目创建的。

我需要将其渲染为磁盘上的单个图像。

由于

1 个答案:

答案 0 :(得分:0)

您只需获取要捕获的组合边界矩形,然后将其渲染到QPixmap。您可以在此时保存QPixmap

未经测试,但应该是......

import operator

items = get_target_items() # just get all the items you want
# combine all the scene rects for the items
# equiv:   totalRect = rect1 | rect2 | ...
totalRect = reduce(operator.or_, (i.sceneBoundingRect() for i in items))

pix = QtGui.QPixmap(totalRect.width(), totalRect.height())
painter = QtGui.QPainter(pix)
scene.render(painter, totalRect)
pix.save("capture.jpg", "JPG")