PyQt QGraphicsView组件视图导出为图片

PyQt QGraphicsView组件视图导出为图片

可以通过调用QGraphicsView.render()接口将组件视图渲染到QPixmapQImage上,再调用QPixmapQImage的**save()**方法保存为图片

rect = QGraphicsView.viewport(self.dlg.gvPointRecords).rect()
pixmap = QPixmap(rect.size())
painter = QPainter(pixmap)
painter.begin(pixmap)
self.dlg.gvPointRecords.render(painter, QRectF(pixmap.rect()), rect)
painter.end()
if self.imgFile:
imgFile, _ = QFileDialog.getSaveFileName(self.dlg, "保存图像", os.path.dirname(self.imgFile),
"影像 (*.png *.jpg)")
else:
imgFile, _ = QFileDialog.getSaveFileName(self.dlg, "保存图像", './', "影像 (*.png)")
if imgFile:
img = pixmap.save(imgFile)
self.imgFile = imgFile

代码的关键在于一定不能少了painter.begin(pixmap)painter.end(),否则图片虽然可以导出,但程序会崩溃,而且不容易排查错误出现在哪里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值