我试图将PyQt5小部件上的图表另存为图片(.png或.jpg),但没有找到这样做的方法。创建图表的代码:
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_)发布于 2021-04-18 05:46:47
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")https://stackoverflow.com/questions/67143194
复制相似问题