[英]Save diagram as image in PyQt5
I'm trying to save my diagram on a PyQt5 widget as a picture (.png or.jpg) but not finding ways to do that.我正在尝试将我的图表保存在 PyQt5 小部件上作为图片(.png 或 .jpg),但没有找到方法。 Code for creating diagram:
创建图表的代码:
self.clearLayout(self.diagram_up)
self.series_ = QPieSeries()
self.series_.setHoleSize(0.35)
self.slice_ = QPieSlice()
self.slice_.setExploded()
self.slice_.setLabelVisible()
for slice in self.series_.slices():
slice.setLabel("<h3>{:.2f}%</h3>".format(100 * slice.percentage()))
self.chart_ = QChart()
self.chart_.legend().hide()
self.chart_.addSeries(self.series_)
self.chart_.setAnimationOptions(QChart.SeriesAnimations)
self.chart_.setTitle("<span style='color: black; font-size: 18pt;'>Статистика по операциям</span>")
self.chartview_ = QChartView(self.chart_)
self.chartview_.setRenderHint(QPainter.Antialiasing)
self.diagram_up.addWidget(self.chartview_)
QChartView is a QGraphicsView so you can use the render method. QChartView 是一个 QGraphicsView 所以你可以使用 render 方法。
pixmap = QPixmap(self.chartview_.sceneRect().size().toSize())
pixmap.fill(QColor("transparent"))
painter = QPainter(pixmap)
painter.setRenderHint(QPainter.Antialiasing)
self.chartview_.render(painter)
painter.end()
pixmap.save("image.png")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.